27

我有以下文档结构:

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

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

4

2 回答 2

35

目前尚不清楚您到底尝试了什么,但这应该可以通过以下方式找到上述文档name

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

参考

于 2012-07-24T21:50:36.073 回答
18

您应该使用$elemMatch运算符:

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

蒙哥文档

于 2014-01-26T00:07:31.910 回答