2011-01-24 65 views
2

我在MongoDB Items集合中引用了用戶集合對象。隨機項目文檔看起來像這樣:
ps:澄清,我真的不想將Items嵌入到用戶集合中。 根據MongoDB和PHP中的引用ID查找文檔

Array 
     (
      [_id] => MongoId Object 
       (
        [$id] => 4d3c589378be56a008000000 
       ) 
      [modified] => 1295800467 
      [order] => 1 
      [title] => MyFirstItem 
      [user] => Array 
       (
        [$ref] => users 
        [$id] => MongoId Object 
         (
          [$id] => 4d3c55e7a130717c09000012 
         ) 
       ) 
     ) 
所以我需要找到只分配給特定用戶的項目。找到我的問題的這個問題,但解決方案沒有爲我工作。 MongoDB-PHP: JOIN-like query

這是我的代碼的片段,givin'我根本沒有結果。

$user = $db->users->findOne(array("_id" => new MongoID("4d3c55e7a130717c09000012"))); 
$items = $db->items->find(array("user" => array('$id' => $user["_id"])));
找到這些數據的正確方法是什麼?我應該把一個user_id作爲一個MongoID而沒有引用嗎?

花了我所有的一天,在此先感謝!

回答

1

嘗試

$items = $db->items->find(array("user.$id" => $user["_id"]));