Как вытащить идентификатор объекта в mongodb и искать против него? - PullRequest
3 голосов
/ 23 октября 2010

Обратите внимание, "user_id" в моей коллекции plans НЕ является object_id. Он хранится в коллекции plans для ссылки на _id пользователя в коллекции user_accounts. Я думал о сохранении имен пользователей во всех коллекциях, чтобы ссылаться на пользователя, но это не было бы идеей, если бы пользователь захотел изменить свое имя пользователя.

// 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 Ответ

4 голосов
/ 23 октября 2010

Похоже, мне пришлось преобразовать его в строку.

$uid = $user['_id'] . "";
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...