Mongodb Mongo db-查询嵌套数组和对象
我的文件结构如下:Mongodb Mongo db-查询嵌套数组和对象,mongodb,mongodb-query,Mongodb,Mongodb Query,我的文件结构如下: { "_id":"12345", "value":{ "T":0, "v":[ { "name":"JW", "cost":100 } ] } } 如何查询名称键?我尝试了点符号,但运气不好(我认为它只适用于两个级别)不清楚您到底尝试了什么,但这应该可以通过name找到上面的文档: db.collection.find({ "value.
{
"_id":"12345",
"value":{
"T":0,
"v":[
{
"name":"JW",
"cost":100
}
]
}
}
如何查询名称键?我尝试了点符号,但运气不好(我认为它只适用于两个级别)不清楚您到底尝试了什么,但这应该可以通过
name
找到上面的文档:
db.collection.find({ "value.v.name": "JW" })
您应该使用
$elemMatch
运算符:
db.collection.find({
'value.v': {
$elemMatch: {
name: 'JW', // "name == 'JW'"
cost : 100 //if you need "&& cost == 100"
}
}
});
谢谢,我确信它对我不起作用,也许我的查询错了。我认为你不能在数组上使用点运算符。@SamuelO'Malley我刚刚更新了引用链接,更好地显示了数组支持这一点。如果你碰巧做了分组,然后,您需要在
value.v
键上使用$unwind
操作,然后才能操作name
/cost
字段。