mongodb - 通过来自 mongoose 的 agreggate 从嵌套对象中获取值
问题描述
我有一个类似的列表:
[
{
origin: 'asdf',
translation: { ru: 'asdf' },
_id: '215efb05-eb01-4376-8da2-8d8960a0e46d'
}
]
向猫鼬查询:
await LessonPhrase.aggregate([
{ $match: { lessonId } },
{ $project: {
_id: '$_id',
origin: 1,
translation: '$.ru'
}}
]);
我想得到以下列表:
[
{
origin: 'asdf',
translation: 'asdf',
_id: '215efb05-eb01-4376-8da2-8d8960a0e46d'
}
]
但是每次都会出错,无法处理..
解决方案
阶段中的美元符号 ( $
)$project
表示对文档根目录的引用,以便ru
从您需要的嵌套transaction
对象中获取:
await LessonPhrase.aggregate([
{ $match: { lessonId } },
{ $project: {
_id: '$_id',
origin: 1,
translation: '$translation.ru'
} }
]);
推荐阅读
- swift - 在 AVCapture Swift 中仅捕获相机预览
- r - 如何按组平均数据集中的所有列
- python - pyqt5 qlistwidget 对大文本数据的性能
- ruby-on-rails - 带有 has_many 和 belongs_to 的 Rails 查询出乎意料的结果
- sql-server - SQL Server 2016 虚拟表 - 语法“AS”不正确
- python - 自动化无聊的东西第 7 章:正则表达式 - 电话号码和电子邮件提取器仅提取电话号码
- php - 基于 tr 计数的 td/th 的 XPath
- jenkins - 由于语法问题,无法执行 Jenkins 管道
- django - 在 AWS 上免费部署 Django VC,哪个最好?只是 EC2.t2 或 Beanstalk
- node.js - 在 Express.js 中发出请求和响应处理程序会导致问题吗?