При повторении результатов запроса вы не перемещаете курсор. Выполнение кода выше вызывает бесконечный цикл, так как курсор не продвигается. Попробуйте изменить:
$item = $cursor->current();
до
$item = $cursor->getNext();
Лично я предпочитаю этот синтаксис:
foreach ($cursor as $item)
{
var_dump($item);
}
Редактировать
Следующий код работает нормально для меня. Вы можете попробовать это?
$m = new Mongo();
$db = $m->CDO;
$col = $db->rep_consulta;
$col->insert(array('id' => 456745764, 'nombre' => 'cosa'));
$cursor = $col->find()->limit(10);
foreach ($cursor as $item)
{
var_dump($item);
}
Редактировать ++
Кстати, $ cursor-> valid () не вернет true, пока вы не переместите курсор к первому элементу результата. Вот почему вы получаете ложь. Вам еще предстоит продвинуть курсор в этой точке вашего кода.