mongodb test表如下:
{
"_id" : ObjectId("1"),
"Details" : [
{
"name":"a",
"age" : 1
},
{
"name":"b",
"age" : 2
},
{
"name":"c",
"age" : 2
}
]
}
{
"_id" : ObjectId("2"),
"Details" : [
{
"name":"d",
"age" : 1
},
{
"name":"e",
"age" : 1
},
{
"name":"f",
"age" : 1
}
]
}
{
"_id" : ObjectId("3"),
"Details" : [
{
"name":"g",
"age" : 1
},
{
"name":"h",
"age" : 1
},
{
"name":"i",
"age" : 1
}
]
}
希望按条件查询出_id =ObjectId("1"),并且 Details.age =2的 Details数组,期望返回结果的形式为:
{
Details: [
{
"age" : 2
},
{
"age" : 2
}
]
}
$elemMatch只能返回一条数据
而aggregate返回的数据格式(如下)不是期望返回的数据格式:
{Details:{"name":"a", "age":2}}
{Details:{"name":"b", "age":2}}
有没有什么方法?