MongoDB
 sql >> Base de données >  >> NoSQL >> MongoDB

mongodb rejoint plusieurs collections

vous pouvez mettre plusieurs étapes $lookup, vous pouvez donc utiliser une requête comme celle-ci (ne pourrait pas la tester mais devrait fonctionner)Mais vous devez éviter les jointures multiples, gardez à l'esprit que MongoDB n'est pas une base de données relationnelle...

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"
      }
   }
]);