例如
> db.test.insert( { 'a':5 } )
> db.test.insert( { 'a': [5] } )
> db.test.find({ 'a':5})
{ "_id" : ObjectId("53e2b4366c9ef5cceb327e01"), "a" : 5 }
{ "_id" : ObjectId("53e2b43b6c9ef5cceb327e02"), "a" : [ 5 ] }
但是,我只希望能够匹配第一个文件。
答案 0 :(得分:5)
最简单的方法是使用$exists
和"点符号"来测试数组元素是否存在:
db.test.find({ "a": 5, "a.0": { "$exists": false } })
说找到" a"等于5,但是" a"中的第一个数组元素不存在。