使用MongoDB和PHP手动引用

时间:2016-02-28 13:23:26

标签: php mongodb

我有两个系列:

'用户'集合

_id: ObjectID('56c9a824f4b233dfd30041b3')
name: Luke Skywalker
username: jedimaster23

“projectInfo'collection

_id: 56d1d830f4b233ded30041c3
projectName: L
startDate: 24 April 2016
users_id: ObjectID('56c0abb7f4b233ba020041b3')
saved_at: February 27, 2016 5:09 PM

每次用户创建项目时,他们的用户ID都存储在projectInfo集合以及users集合中,因此projectInfo集合中有一个名为user_id的手动引用。

我正在尝试列出每个用户创建的所有项目。我目前的查询是:

    $userTest = $user->_id; // get the userid from the current session

    $findResult = $usersCollection->findOne(array('_id'=> new MongoID($userTest)), array('user_id'=>1));//get current user

    $result = $collection->find(array('_id' => array('$in' => $findResult['user_id'])));

但是,这并没有返回任何记录,尽管我知道我登录的用户创建了很多项目。

任何人都可以告诉我我做错了什么,这是我在MongoDB的第一个项目,所以还处于学习阶段

1 个答案:

答案 0 :(得分:0)

为什么不喜欢这样:

 $currentUserId = $user->_id; // get the userid from the current session

 $result = $projectCollection->find(array('users_id' => new MongoID($currentUserId));

更新为更简单的解决方案