Mongodb - 查询嵌套数组和对象

时间:2012-07-24 19:45:56

标签: mongodb mongodb-query

我有以下文档结构:

{
   "_id":"12345",
   "value":{
      "T":0,
      "v":[
         {
            "name":"JW",
            "cost":100
         }
      ]
   }
}

如何查询名称密钥?我尝试了点符号,但没有运气(我认为它仅适用于两个级别)

2 个答案:

答案 0 :(得分:30)

目前尚不清楚您的确切尝试,但这应该可以通过name找到上述文档:

db.collection.find({ "value.v.name": "JW" })

Reference

答案 1 :(得分:13)

您应该使用$elemMatch运算符:

db.collection.find({
    'value.v': { 
        $elemMatch: {
            name: 'JW', // "name == 'JW'"
            cost : 100 //if you need "&& cost == 100"
        }
    }
});

Mongo docs