我有一个相似的列表:
[
{
origin: 'asdf',
translation: { ru: 'asdf' },
_id: '215efb05-eb01-4376-8da2-8d8960a0e46d'
}
]
查询到mongoose:
await LessonPhrase.aggregate([
{ $match: { lessonId } },
{ $project: {
_id: '$_id',
origin: 1,
translation: '$.ru'
}}
]);
我想获得以下列表:
[
{
origin: 'asdf',
translation: 'asdf',
_id: '215efb05-eb01-4376-8da2-8d8960a0e46d'
}
]
但每次都会收到错误,无法处理..
答案 0 :(得分:0)
$
阶段中的美元符号($project
)表示对文档根目录的引用,以便从您需要的嵌套ru
对象中获取transaction
:
await LessonPhrase.aggregate([
{ $match: { lessonId } },
{ $project: {
_id: '$_id',
origin: 1,
translation: '$translation.ru'
} }
]);