$совпадение на этапе поиска без удаления локальных документов в MongoDB

#mongodb #mongoose #nosql #aggregation-framework #document-database

Вопрос:

Прямо сейчас у меня есть этап поиска, который сопоставляет набор ответов с их соответствующими вопросами. Проблема, с которой я сталкиваюсь, заключается в том, что при сопоставлении$, если у вопроса нет соответствующего документа с ответом в коллекции поиска, он удаляется из результатов агрегирования. Как я могу этого избежать?

   {
    $lookup: {
      from: 'groupansphotos',
      let: { question_id: '$questions._id' },
      pipeline: [
        {
          $match: {
            $expr: { $eq: ['$_id', '$question_id'] },
          },
        },
        { $unwind: '$answers' },
        { $match: { 'answers.reported': { $lt: 1 } } },
        { $sort: { 'answers.helpful': -1 } },
        { $limit: 2 },
        {
          $project: {
            _id: 0,
            k: { $toString: '$answers._id' }, // k
            v: '$ROOT.answers', // v
          },
        },
      ],
      as: 'answers',
    },
  },