MongoDB
 sql >> Base de Dados >  >> NoSQL >> MongoDB

mongodb juntar várias coleções


você pode colocar vários estágios $lookup, então você pode usar uma consulta como esta (não foi possível testá-la, mas deve funcionar) Mas você deve evitar várias junções, lembre-se de que o MongoDB não um banco de dados relacional...
db.Order.aggregate([
   {
      $lookup:{
         from:"City",
         localField:"City Key",
         foreignField:"City Key",
         as:"lsg"
      }
   },
   {
      $unwind:"$lsg"
   },
   {
      $lookup:{
         from:"Employee",
         localField:"Salesperson Key",
         foreignField:"Employee Key",
         as:"lsg2"
      }
   },
   {
      $unwind:"$lsg2"
   },
   {
      $project:{
         "_id":1,
         "Employee":1,
         "Salesperson Key":1,
         "City":"$lsg.City"
      }
   }
]);