【发布时间】:2015-03-17 05:59:47
【问题描述】:
如何在 SubDocument 数组上使用 elemMatch 进行搜索?我有一个名为 ReportCollection 的文档,其中包含以下元素:-
/* 0 */
{
"_id" : ObjectId("5507bfc435e9470c9aaaa2ac"),
"owner" : ObjectId("5507bfc31e14d78e177ceebd"),
"reports" : {
"xReport" : [
{
"name" : "xReport",
"parameters" : {
"x" : {
"dateTime" : "2015-03-11T18:30:00.000Z",
"unit" : 1,
"value" : 102
}
},
"createdBy" : ObjectId("5507bfc31e14d78e177ceebd"),
"modifiedBy" : ObjectId("5507bfc31e14d78e177ceebd"),
"_id" : ObjectId("5507bfc41e14d78e177ceebf")
}
]
}
}
我得到了reports.xReport[]._id 作为搜索参数。
我的以下尝试失败了:-
db.reports.find ({ {owner: ObjectId("5507afd3d54bae3513c185cb")},
{ 'reports.xReport': {$elemMatch: {_id: ObjectId("5507afd3d54bae3513c185cd") }}} } )
【问题讨论】:
标签: javascript node.js mongodb mongodb-query node-mongodb-native