场景:考虑 MongoDB 中名为“MyCollection”的集合中的文档
{
"_id" : ObjectId("512bc95fe835e68f199c8686"),
"author": "dave",
"score" : 80,
"USER" : {
"UserID": "Test1",
"UserName": "ABCD"
}
},
{ "_id" : ObjectId("512bc962e835e68f199c8687"),
"author" : "dave",
"score" : 85,
"USER" : {
"UserID": "Test2",
"UserName": "XYZ"
}
},
...
我知道UserID
并希望基于此获取。
问题:我使用 Node.js + MongoDB-native 驱动程序尝试了以下代码:
db.Collection('MyCollection', function (err, collection) {
if (err) return console.error(err);
collection.aggregate([
{ $match: { '$USER.UserID': 'Test2'} },
{$group: {
_id: '$_id'
}
},
{
$project: {
_id: 1
}
}
], function (err, doc) {
if (err) return console.error(err);
console.dir(doc);
});
});
但它没有按预期工作。
问题:谁能知道如何$match
在 MongoDB 查询中对运算符执行相同操作?
更新:我没有收到任何错误。但是对象将是空白的,即
[]