2014-11-14 60 views
6

我试图让mongodb查询工作。搜集的内容格式为:

{ 
"_id": { 
    "$oid": "54651022bffebc03098b4567" 
}, 
"browser": "ie", 
"browser_version": "10.0 Desktop", 
"os_version": "8", 
"device": null, 
"os": "Windows" 
} 

以下工作:

{ 
    "_id": { 
     "$in": [ 
      { 
       "$oid": "54651022bffebc03098b4567" 
      }, 
      { 
       "$oid": "54651022bffebc03098b4568" 
      } 
     ] 
    } 
} 

不过,我得到一个语法错误以下:

{ 
    "_id": { 
     "$in": [ 
      ObjectId("54651022bffebc03098b4567"), 
      ObjectId("54651022bffebc03098b4568") 
     ] 
    } 
} 

有一些建议,类似的问题ObjectId应该工作:

How to create query with ObjectIds using java?

$all parameter in mongodb does not work with ObjectId list

+2

你使用的客户端进入和运行这些查询?蒙戈壳?一个Java程序? (您可以链接到底部的Java文章。)尽管所有客户端中的许多概念和细节都很相似,但许多客户端都有自己特殊的怪癖,这使得它们变得独一无二。例如,我的第三个代码块中的ObjectId()语法只能用于JavaScript(包括mongo shell)。 – jared 2014-11-14 21:36:20

+0

等你在Java中尝试这个吗?这不是你如何在Java中创建对象 – Sammaye 2014-11-14 21:57:38

+0

我在Mongolab浏览器中运行查询。我也尝试在PHP中使用MongoId()构造函数运行相同的查询,它的工作正常 – 2014-11-14 22:00:14

回答