【问题标题】:ReactiveMongo: How to use the $in operator with _idReactiveMongo:如何将 $in 运算符与 _id 一起使用
【发布时间】:2015-05-09 01:43:43
【问题描述】:

假设我们需要找到一个 id 为 5546329b470000850084a622 的用户:

val selector = Json.parse("""{"_id":{"$oid":"5546329b470000850084a622"}}""")

users.find(selector).map {
  ...
}

Mongo shell 的等价物是

db.users.find( {_id: ObjectId("5546329b470000850084a622") } )

现在假设我们需要查找 id 为 5546329b470000850084a6225546329b470000850084a6235546329b470000850084a624 的用户...这是来自 Mongo shell 的命令:

db.users.find( {_id: {$in: [ObjectId("5546329b470000850084a622"), ObjectId("5546329b470000850084a623), ObjectId("5546329b470000850084a624)"]}})

ReactiveMongo 的等效 JSON 是什么?这个?

{
  "_id" : {
    "$oid" : {
      "$in" : [ "5546329b470000850084a622", "5546329b470000850084a623", "5546329b470000850084a624" ]
    }
  }
}

【问题讨论】:

    标签: mongodb reactivemongo


    【解决方案1】:

    {"$oid":"5546329b470000850084a622"} 是与ObjectId("5546329b470000850084a622")mongo shell 中相同事物的JSON 表示。见http://docs.mongodb.org/manual/reference/mongodb-extended-json/#oid

    我不知道,但这应该 AFAIK:

    {
      "_id" : {
          "$in" : [ {"$oid": "5546329b470000850084a622"},
                    {"$oid": "5546329b470000850084a623"},
                    {"$oid": "5546329b470000850084a624"} ]
      }
    }
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2013-09-10
      • 2011-07-29
      • 2014-06-12
      • 2012-08-19
      • 1970-01-01
      • 2013-01-15
      • 2019-05-29
      • 1970-01-01
      相关资源
      最近更新 更多