2011-01-24 10 views
2

私はMongoDB Itemsコレクション内で参照されたUsersコレクションオブジェクトを持っています。ランダムなアイテムのドキュメントは次のようになります:
ps:明確にするために、私は実際にアイテムをユーザーコレクションに埋め込みたくありません。 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

ここに私のコードのスニペットがあります。

$user = $db->users->findOne(array("_id" => new MongoID("4d3c55e7a130717c09000012"))); 
$items = $db->items->find(array("user" => array('$id' => $user["_id"])));
データを検索する正しい方法は何ですか?代わりに参照なしでMongoIDとしてuser_idを置くべきですか?

これで私の一日を過ごしました。

答えて

1

お試しください。

$items = $db->items->find(array("user.$id" => $user["_id"])); 
関連する問題