MongoDB $ oid vs ObjectId

Vla*_*kov 10 mongodb mlab

我正在努力让mongodb查询工作.收集的格式如下:

{
"_id": {
    "$oid": "54651022bffebc03098b4567"
},
"browser": "ie",
"browser_version": "10.0 Desktop",
"os_version": "8",
"device": null,
"os": "Windows"
}
Run Code Online (Sandbox Code Playgroud)

以下作品:

{
    "_id": {
        "$in": [
            {
                "$oid": "54651022bffebc03098b4567"
            },
            {
                "$oid": "54651022bffebc03098b4568"
            }
        ]
   }
}
Run Code Online (Sandbox Code Playgroud)

但是,我收到以下语法错误:

{
    "_id": {
        "$in": [
            ObjectId("54651022bffebc03098b4567"),
            ObjectId("54651022bffebc03098b4568")
        ]
    }
}
Run Code Online (Sandbox Code Playgroud)

有类似的问题表明ObjectId应该工作:

如何使用java创建使用ObjectIds的查询?

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

jar*_*red 19

MongoLab UI使用严格的MongoDB扩展JSON,因此对象ID如此表示,如OP的第二个代码块:

{ "$oid": "<id>" }
Run Code Online (Sandbox Code Playgroud)