Mongodb 查询以将非空数组与特定值匹配

Mongodb 查询以将非空数组与特定值匹配,mongodb,mongodb-query,Mongodb,Mongodb Query,比如说 > 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 ] } 但是,我只希望能够匹配第一个文档 最简单的方法是使用和

比如说

> 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 ] }

但是,我只希望能够匹配第一个文档

最简单的方法是使用和“点表示法”测试是否存在数组元素:

db.test.find({“a”:5,“a.0”:{“$exists”:false})
表示find“a”等于5,但“a”中的第一个数组元素不存在