【问题标题】:$all parameter in mongodb does not work with ObjectId listmongodb 中的 $all 参数不适用于 ObjectId 列表
【发布时间】:2012-04-16 04:14:13
【问题描述】:

我检索一个 ObjectId 列表,我想使用参数 $all 检索我的 mongo 数据库中的所有对象

我正在使用 pymongo,我的请求如下所示:

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

但是请求返回的游标计数为0 但是当我提出这个要求时:

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

它返回了我的好对象

有人知道为什么它不起作用吗?

【问题讨论】:

    标签: mongodb pymongo object-identity


    【解决方案1】:

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

    我想你想要$in:

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

    【讨论】:

      猜你喜欢
      • 2015-02-26
      • 2017-08-03
      • 1970-01-01
      • 1970-01-01
      • 2023-02-22
      • 1970-01-01
      • 1970-01-01
      • 2013-11-16
      • 1970-01-01
      相关资源
      最近更新 更多