当我这样查询时:
collection.find({ "position": { $in: [ 1, 2 ] } }).toArray()....
当我使用$and
or时,我得到了正确的结果,$or
例如:
collection.find({ $or: [ { "position": 1 }, { "position": 2 } ] }).toArray()...
我总是得到空的结果
编辑:尝试在控制台中查询时,我得到:
> db.foo.find({"position":{$in:[1,2]}})
{ "name" : "Jon Doe", "position" : 1, "arrival" : "8:00", "_id" :ObjectId("512e2ed286d19b9e4d000001") }
{ "name" : "Jack Smith", "position" : 2, "arrival" : "10:00", "_id" : ObjectId("512e2ed286d19b9e4d000007") }
db.foo.find( { $or : [{"position":1},{"position":2}]} )
//nothing here
由此,我得到的印象是,我的代码还可以,问题出在其他地方……