我有一个包含这样的元素的集合
.. "rMResults" : { "4" : { "decimal" : 19079, "formatted" : "190.79" }, "5" : { "decimal" : 200000, "formatted" : "2000.00" }, "6" : { "decimal" : 9467, "formatted" : "94.67" }, "7" : { "decimal" : 32360, "formatted" : "323.60" } }, ..
我想查询所有匹配“十进制”的文档
我尝试这样的查询
db.getCollection('events').find({ "rMResults": { $elemMatch: { 7: { $elemMatch: { decimal: 32360 } } } } })
但是没有退回任何文件,有人可以帮我吗?
答案 0 :(得分:2)
您正在尝试获取其在数组上起作用的对象上的elementMatch
。看一下
elementMatch
以一种简单的方式来匹配和投影所选字段,就像这样,
db.getCollection('ACL').find({ "rMResults.7.decimal": 32360}, {"rMResults.7.decimal": true})