Этот пост несколько устарел, но на тот случай, если кто-нибудь исследует эту проблему, вот пара моментов, на которые следует обратить внимание:
1) $ item - это массив, поэтому код, вероятно, должен читать что-то вроде этого:
echo 'Item: ' . $item['name'] . '<br>';
2) Кроме того, идентификаторы пользователя и itemid, похоже, связаны в оригинальном сообщении. Более распространенным вариантом было бы установить поле 'uid' в коллекции элементов, поэтому оно имеет поля '_id' и 'uid'. Как это:
$item = $db->find(array('uid' => $userid));
3) в этом шаблоне иногда мне приходится приводить ObjectID или MongoID к строке следующим образом:
$item = $db->findOne(array('uid' => (string)$userid));
4) но для простого поиска _id это все, что вам нужно:
$item = $db->findOne(array('_id' => new MongoId($userid));
надеюсь, это поможет!