我有一个类似于 MongoDB 文档的数据:
{
"_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"
}
]
}
通常它包含像这样许多嵌套数组。我想单独投影一个度量,仅使用具有我的搜索条件的数组。
我有查询
db.sample.find(
{"filtermetric.class" : "s2"},{"filtermetric" : { $elemMatch : {class: "s2"}}}
)
这只给我返回数组中的第一个对象。第二个带有类名:s2的对象没有被返回。
如果我尝试:
db.sample.find(
{"filtermetric" : { $elemMatch : {class: "s2"}}}
)
它给我数组中的所有4个对象。
在这种情况下,如何获取符合特定条件的所有对象?
filtermetric
应该改为FilterMetric
,以匹配样例文档中该字段的大小写。 - JohnnyHK