2013-01-07 38 views
0

基本上,最終目標是爲我的所有數據庫查詢提供默認範圍。這意味着將所有查詢限制爲一組對象ID。我的問題是,如何通過ID查詢並確保查詢僅限於我的對象ID列表?

我想要做這樣的事情:

db.posts.findOne({_id: ObjectId("50eb4a874947fb00e3cc0612")}) 
     .where({_id: { $in: [ObjectId("50eb4a874947fb00e3cc0610"),ObjectId("50eb4a874947fb00e3cc0611")] }}); 

,你可以看到,查詢應返回任何結果,因爲查詢ID不是在對象ID數組$。

順便說一句,上面的查詢只是給了我一個錯誤說db.posts.findOne({_id: ObjectId("50eb4a874947fb00e3cc0612")}).where is not a function (shell):1

回答

1

這聽起來真的很奇怪,但你可以嘗試$andhttp://docs.mongodb.org/manual/reference/operators/#_S_and)合併的兩條條款,如:

db.col.find({ 
    $and:[ 
     {_id: ObjectId("50eb4a874947fb00e3cc0612")}, 
     {_id: { 
      $in: [ 
       ObjectId("50eb4a874947fb00e3cc0610"), 
       ObjectId("50eb4a874947fb00e3cc0611") 
      ] 
     }} 
    ] 
}); 

這是一個我相信這樣做的方式。

相關問題