Найти документы на основе ссылочного идентификатора в MongoDB & PHP - PullRequest
2 голосов
/ 24 января 2011

Я получил объект коллекции Users в моей коллекции Items MongoDB.Случайный элемент документа выглядит следующим образом:
ps: чтобы уточнить, я действительно не хочу вставлять элементы в коллекцию Users. 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 без ссылки?

Провел весь день с этим, заранее спасибо!

1 Ответ

1 голос
/ 24 января 2011

Попробуйте

$items = $db->items->find(array("user.$id" => $user["_id"]));
...