Empresas
Empregos
  • Sobre nós
  • Soluções
    • Publicação de vagas
      Publique sua vaga e receba candidatos qualificados em 48h.
    • Avaliações de candidatos
      Mais de 500 testes técnicos e psicológicos, mais anti-fraude.
    • Headhunting
      Busca executiva personalizada do início ao fim.
    • Folha de Pagamento + EOR
      Dispersão de folha e EOR em mais de 15 países da LATAM.
  • Preços
  • Empregos

0

186
Visualizações
¿Cómo obtener datos de múltiples colecciones en mongodb usando mongoose?

tengo 3 colecciones en mongoDB con la siguiente estructura

Usuarios:

 "name":"" "email":"" "phone":"" "city":"" "customerID":""

Buques:

 "address":"" "city":"" "pincode":"" "porderID":"" "customerID":""

Pedidos:

 "productName":"" "quantity":"" "pricing":"" "mrp":"" "porderID":"" "customerID":""

¿Cómo escribo una solicitud de obtención o una función agregada que devuelve todos los ID de cliente en un json como este?

 [{ customerID:"", BuyOrder:[{ porderID:"", productName:"", quantity:"" ShipmentDetail:[ address:"" city:"" pincode:"" ] }], customerID:"", BuyOrder:[{ porderID:"", productName:"", quantity:"" ShipmentDetail:[ address:"" city:"" pincode:"" ] }], }]

Cualquier sugerencia sería útil.

about 4 years ago · Juan Pablo Isaza
1 Respostas
Responde à pergunta

0

No está muy claro qué es lo que quieres... sin un ejemplo de entrada/salida, sin un JSON válido... no es fácil, pero creo que estás buscando algo como esto:

Esta consulta es una $lookup anidada en la que cada usuario se une a la colección con orders mediante el ID de customerID y, además, los pedidos se unen a los ships mediante el ID de customerID .

 db.users.aggregate([ { "$lookup": { "from": "orders", "localField": "customerID", "foreignField": "customerID", "as": "BuyOrder", "pipeline": [ { "$lookup": { "from": "ships", "localField": "customerID", "foreignField": "customerID", "as": "ShipmentDetail" } } ] } }, ])

Ejemplo aquí

También puede agregar una etapa $project para generar solo los campos que desee, como este ejemplo donde el resultado es:

 [ { "BuyOrder": [ { "ShipmentDetail": [ { "address": "", "city": "", "pincode": "" } ], "porderID": "", "pricing": "", "productName": "", "quantity": "" } ], "customerID": "" } ]
about 4 years ago · Juan Pablo Isaza Relatório
Responde à pergunta
Encontrar trabalhos remotos

Descubra a nova forma de encontrar um emprego!

melhores empregos
Principais categorias de trabalho
Empresas
Postar vaga Preços Comercial
Jurídico
Termos e Condições Política de privacidade
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomende algumas ofertas para mim
Preciso de ajuda