蒙戈DB - 查询嵌套数组和对象
问题描述:
我有以下的文档结构:蒙戈DB - 查询嵌套数组和对象
{
"_id":"12345",
"value":{
"T":0,
"v":[
{
"name":"JW",
"cost":100
}
]
}
}
如何查询名称键?我试着点符号,但没有运气(我认为它适用于只有两个级别)
答
你应该使用$elemMatch
操作:
db.collection.find({
'value.v': {
$elemMatch: {
name: 'JW', // "name == 'JW'"
cost : 100 //if you need "&& cost == 100"
}
}
});
如果您有机会做一个_group by_,那么您需要在'value.v'键上使用'$ unwind'操作,然后才能在'name' /'cost'字段上操作。 – 2017-01-06 20:35:16