如何从PHP中的MongoDB集合中检索对象?

时间:2014-01-20 17:51:14

标签: php mongodb

我的PHP代码是这样的......

<?php
    $dbhost = 'localhost';  
    $dbname = 'test_pranav';  
    $connection = new MongoClient("mongodb://$dbhost");
    $connection->selectDB('test_pranav');
    $collection = $connection->selectCollection('test_pranav', 'posts');
    $testResult = $collection->find();  
    print_r($testResult);
    exit;
?>    

我通过PhpMongo UI工具插入记录。但是当我尝试打印同一个表的内容时,它会给出空对象。

请告诉我哪里错了?

2 个答案:

答案 0 :(得分:0)

$collection->find()返回一个MongoCursor对象,它是一个迭代器。然后,检索结果的最简单方法是:

$cursor = $collection->find();  
print_r(iterator_to_array($cursor));

可以在此处找到MongoDB PHP驱动程序的完整文档:http://www.php.net/manual/en/mongo.tutorial.php

答案 1 :(得分:0)

这就是原因:

$connection->selectDB('test_pranav');
$collection = $connection->selectCollection('test_pranav', 'posts');

selectDB返回一个MongoDB实例,因此您需要:

$db = $connection->selectDB('test_pranav');
print_r($db->test_pranav->find());

然后应打印出MongoCursor对象,而@Guillaume说你然后使用iterator_to_array()