2013-04-23 86 views
1

我有一個子陣列其中包括對象ID我們如何查詢對象id的mongodb數組?

"selections" : ["5176d1f09de5ee2808028da9", "5176d1f09de5ee2808028e4d", "5176d1f09de5ee28080292fe", "5176d1f19de5ee2808029867"] 

的用戶登錄時,這些使用PHP會議註冊:

var_dump($selections); 

array(16) { [0]=> string(24) "5176d1f09de5ee2808028a7c" [1]=> string(24) "5176d1f09de5ee2808029180" [2]=> string(24) "5176d1f09de5ee2808029283" [3]=> string(24) "5176d1f19de5ee280802990c"} 

我讓他們從會議,然後在查詢中使用它們:

$selectionsFromSession= $_SESSION['selections']; 

$list=$collection->find(array("_id"=>array('$in'=> $selectionsFromSession)), .... 

此查詢不會返回任何內容。這裏有什麼問題?

回答

0

您需要實例化MongoId對象。

foreach($selections as &$selection) { 
    $selection = new \MongoId($selection); 
} 

然後,您將實例化對象的數組傳遞給您的查詢。

+0

我應該在註冊sessin之前還是在查詢之前執行此操作? – mustafa 2013-04-23 19:57:49

+0

查詢之前 – Howard 2013-04-23 19:58:04

+0

我認爲仍然會返回空 – mustafa 2013-04-23 20:01:21

相關問題