【发布时间】:2018-11-21 00:15:20
【问题描述】:
我在 mongodb 中有一个简单的数据结构:
{
_id: ObjectID,
name: 'Name',
birthday: '25.05.2001'
items: [
{
_id: ObjectID,
name: 'ItemName',
info: 'ItemInfo',
},
{
_id: ObjectID,
name: 'ItemName',
info: 'ItemInfo',
}
]
}
现在我想要一个查询,它将一个项目的 ObjectID (_id) 作为条件,并将包含数组中所有项目的对象返回给我,并将一个“选定”的新字段投影到一个字段中,值为 true 或 false每个数组项的结果:
我用这个查询尝试过:
{ $unwind: '$items' },
{
$project: {
selected: {
$cond: { if: { 'items._id': itemObjectID }, then: true, else: false },
},
},
},
但是 MongoDB 给了我一个错误:
MongoError: FieldPath field names may not contain '.'.
不知道为什么它不起作用,有什么帮助或想法吗?非常感谢!
【问题讨论】:
标签: node.js mongodb mongodb-query aggregation-framework