2

我的 MongoDB 项目集合中有引用的用户集合对象。Random Item 文档如下所示:
ps:澄清一下,我真的不想将 Items 嵌入到用户集合中。

Array
        (
            [_id] => MongoId Object
                (
                    [$id] => 4d3c589378be56a008000000
                )
            [modified] => 1295800467
            [order] => 1
            [title] => MyFirstItem
            [user] => Array
                (
                    [$ref] => users
                    [$id] => MongoId Object
                        (
                            [$id] => 4d3c55e7a130717c09000012
                        )
                )
        )
所以我只需要找到分配给特定用户的项目。找到我的问题的这个问题,但解决方案对我不起作用。 MongoDB-PHP:类似 JOIN 的查询

这是我的代码片段,根本没有给我任何结果。

$user = $db->users->findOne(array("_id" => new MongoID("4d3c55e7a130717c09000012")));
$items = $db->items->find(array("user" => array('$id' => $user["_id"])));
找到该数据的正确方法是什么?我是否应该将 user_id 作为 MongoID 而不参考?

花了我一整天的时间,提前谢谢!

4

1 回答 1

1

尝试

$items = $db->items->find(array("user.$id" => $user["_id"]));
于 2011-01-24T19:51:25.380 回答