mongodb中的$ all参数不适用于ObjectId列表

时间:2012-04-02 13:36:16

标签: mongodb pymongo object-identity

我检索ObjectId列表,我想使用参数$ all

检索我的mongo数据库中的所有对象

我正在使用pymongo,我的请求看起来像这样:

db.database.collection.find({ "_id" : { "$all" : [ObjectId('4ee371837c93dd33dc000003'),ObjectId('4eef9f647c93dd1a90000000')] } })

但请求返回的游标数为0 但是当我这样做时:

db.database.collection.find_one({ "_id" : ObjectId('4ee371837c93dd33dc000003')})

它返回了我的好对象

任何人都知道它为什么不起作用?

1 个答案:

答案 0 :(得分:7)

该查询没有意义。您要求唯一且单值_id字段同时所有两个不同的值

我想你想要$in

db.database.collection.find({ "_id" : { 
   "$in" : 
     [ObjectId('4ee371837c93dd33dc000003'),
      ObjectId('4eef9f647c93dd1a90000000')] } })