请注意,我的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);
答案 0 :(得分:4)
看起来我必须将其转换为字符串。
$uid = $user['_id'] . "";