#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',
},
},