sql >> Base de Datos >  >> NoSQL >> MongoDB

Obtenga datos de la colección b que no están en la colección a en una consulta de shell de MongoDB

En mongo 3.2, el siguiente código parece funcionar

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

basado en este ejemplo de https://docs.mongodb.com/manual/reference/operator/aggregation/lookup/#use-lookup-with-an-array