多个元素我有这样的MongoDB elemmatch在阵列
{
"_id" : ObjectId("54e66b2da7b5f3a92e09dc6c"),
"SomeMetric" : [
{
//some object
}
{
//some object
}
],
"FilterMetric" : [
{
"min" : "0.00",
"max" : "16.83",
"avg" : "0.00",
"class" : "s1"
},
{
"min" : "0.00",
"max" : "16.83",
"avg" : "0.00",
"class" : "s2"
},
{
"min" : "0.00",
"max" : "16.83",
"avg" : "0.00",
"class" : "s1"
},
{
"min" : "0.00",
"max" : "16.83",
"avg" : "0.00",
"class" : "s2"
}
]
}
一个mongodb的文档通常,它包含许多嵌套的数组这样。我想单独投影一个度量标准,只有具有我的搜索条件的数组。 我有查询
db.sample.find(
{"filtermetric.class" : "s2"},{"filtermetric" : { $elemMatch : {class: "s2"}}}
)
这给了我只有第一个对象在数组中。类别为s2的第二个对象不会返回。
,如果我尝试
db.sample.find(
{"filtermetric" : { $elemMatch : {class: "s2"}}}
)
它给我所有的数组中的4个对象。
如何在这种情况下获得符合条件的所有对象?
Thx很多。这是详细和解释性的。 – Manoj 2015-03-13 08:51:46
在这些答案中'filtermetric'应该是'FilterMetric',以匹配示例文档中该字段的大小写。 – JohnnyHK 2015-06-03 03:38:25