Как получить документы, у которых не было родителей в Mongodb

#mongodb

#mongodb

Вопрос:

Предположим, у меня есть коллекция A, которая является родительской для коллекции B, т.е. в B есть поле _parent_id, которое является «ссылкой» для поля _id в коллекции A.

Как я могу получить документы в коллекции B, которые являются потерянными?

Ответ №1:

Вы можете выполнить $match этап сразу после $lookup этапа, если родительское значение [] пустое

 db.B.aggregate([
  {
    $lookup: {
      from: "A",
      localField: "_parent_id",
      foreignField: "_id",
      as: "parent"
    }
  },
  { $match: { parent: [] } }
])