2014-11-14 61 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

回答