Business
Jobs
  • About Us
  • Solutions
    • Job Postings
      Post your job and receive qualified candidates in 48h.
    • Candidate Assessments
      500+ technical and psychological tests, plus anti-fraud.
    • Headhunting
      Tailor-made executive search from start to finish.
    • Payroll + EOR
      Payroll dispersal and EOR across 15+ LATAM countries.
  • Pricing
  • Jobs

0

457
Views
MongoDB Unirse en el campo _id de String a ObjectId agregado $ búsqueda

Tengo dos colecciones.

Clientes:

 { "_id" : ObjectId("584aac38686860d502929b8b"), "name" : "user", "email" : "user@gmail.com" }

Publicaciones:

 { "_id" : ObjectId("584aaca6686860d502929b8d"), "title" : "Post", "description":"description", "user_id" : "584aac38686860d502929b8b" }

Quiero unirme a esta colección según el ID de usuario (de la colección de posts ) - _id (en la colección de customers ).

Intenté la siguiente consulta:

 dbo.collection('customers').aggregate([ { $lookup: { from: 'posts', localField: 'user_id', foreignField: '_id', as: 'posts' } } ])

pero no funciona.

La salida que estoy obteniendo:

 { "_id": "584aac38686860d502929b8b", "name": "user", "email": "user@gmail.com", "posts": [] }
over 4 years ago · Santiago Trujillo
1 answers
Answer question

0

De la colección de posts adjuntas, user_id era una cadena pero no ObjectId .

Para comparar, primero debe convertir user_id a ObjectId .

 db.customers.aggregate([ { $lookup: { from: "posts", let: { customerId: "$_id" }, pipeline: [ { $match: { $expr: { $eq: [ { "$toObjectId": "$user_id" }, "$$customerId" ] } } } ], as: "posts" } } ])

Ejemplo de parque infantil de Mongo


Nota: De su $lookup existente, ha invertido localField y foreignField .

Coincidencia de igualdad con una sola condición de combinación

 { $lookup: { from: <collection to join>, localField: <field from the input documents>, foreignField: <field from the documents of the "from" collection>, as: <output array field> } }
over 4 years ago · Santiago Trujillo Report
Answer question
Find remote jobs

Discover the new way to find a job!

Top jobs
Top job categories
Business
Post vacancy Pricing Sales
Legal
Terms and conditions Privacy policy
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Show me some job opportunities
There's an error!