我正在尝试查找具有特定路径\父级的项目。
示例数据:
文档A:
{
"traces": [{
"act": {
"account": "555",
"name": "Bob"
}
},
{
"act": {
"account": "666",
"name": "Mary"
}
}
],
"other": [{
"act": {
"account": "555",
"volume": "PPPPP"
}
}
]
}
文档B:
{
"traces": [
{
"act": {
"account": "666",
"name": "Mary"
}
}
],
"other": [{
"act": {
"account": "555",
"volume": "PPPPP"
}
}
]
}
因此,当搜索上述两个文档时,我希望搜索匹配文档A但不匹配文档B
如果我使用以下find语句:
db.action_traces.find({ "act.account" : { $in: [ "555" ]}).limit().forEach(function(result){
print(.....);
});
似乎将匹配A和B,因为两者都在匹配的“其他”部分下有一个元素。
如何指定只匹配迹线。{数组中的任何元素} .act.account?