在双嵌套数组中查找

时间:2019-09-17 05:39:45

标签: mongodb mongodb-query

我有一个这样的文件:

{ 
   "_id":ObjectId("5b306824a1eab22e77858c88"),
   "data":{ 
      "Key":[ 
         [ 
            "1529587723",
            "KeyIn"
         ],
         [ 
            "1529587723",
            "Num"
         ],
         [ 
            "1529667745",
            "KeyIn"
         ]
      ]
   },
   "devicecode":"MP1D1XAH@LENOVO"
}

我的问题是如何使用“ KeyIn”查找所有记录?我尝试过

db.dataup.find({ "data.key": "KeyIn" })

但它不起作用。

1 个答案:

答案 0 :(得分:4)

您需要使用双嵌套$elemMatch来查找双嵌套数组

db.collection.find({
  "data.Key": {
    "$elemMatch": {
      "$elemMatch": { "$in": ["KeyIn"] }
    }
  }
})

MongoPlayground