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

Obtenir des données de la collection b pas dans la collection a dans une requête shell MongoDB

Dans mongo 3.2, le code suivant semble fonctionner

db.collectionb.aggregate([
    {
      $lookup:
        {
          from: "collectiona",
          localField: "collectionb_fk",
          foreignField: "collectiona_fk",
          as: "matched_docs"
        }
   },
   {
      $match: { "matched_docs": { $eq: [] } }
   }
]);

basé sur cet https://docs.mongodb.com/manual/reference/operator/aggregation/lookup/#use-lookup-with-an-array example