如何在mongodb中提取对象ID并搜索它?

时间:2010-10-23 00:32:53

标签: php mongodb

请注意,我的plans集合中的“user_id”不是object_id。我将它存储在plans集合中,以引用user_accounts集合中用户的_id。我考虑过在所有集合中存储用户名以引用用户,但如果用户希望更改用户名,那就不会想到。

// Retrieve User ID
$query = array("username" => $user_id);
$fields = array("_id");
$user = $collection_user->findOne($query, $fields);

// Retrieve plans made by user
$query = array("user_id" => $user['_id']);
$fields = array("plan_title");
$data = $collection_plans->find($query, $fields);

如果我将_id硬编码到查询中,它可以正常工作,如下所示:

// Retrieve plans made by user
$query = array("user_id" => "4cc1790f6c0d49bf9424fc73");
$fields = array("plan_title");
$data = $collection_plans->find($query, $fields);

1 个答案:

答案 0 :(得分:4)

看起来我必须将其转换为字符串。

$uid = $user['_id'] . "";