【问题标题】:PHP MongoClient find not workingPHP MongoClient 发现无法正常工作
【发布时间】:2016-08-18 19:21:21
【问题描述】:

我是 MongoDB 的新手,并在 Windows 上使用它。我创建了一个数据库,然后创建了一个集合并在那里插入了记录,我正在通过 GUI 工具 RoboMongo 检查,它显示在 GUI 工具上,但是当我通过代码获取它时,它什么也没显示。 以下是代码,请指导我该怎么做。

$m = new MongoClient('mongodb://root:root123@localhost');
$db = $m->selectDB('db_name');
$collection_name = 'collection_name';
$db->createCollection( $collection_name );
$get_collection = new MongoCollection( $db, $collection_name );
$data = array(
   '_id' => '1_record',
   'name' => 'Majid Ali',
   'designation' => 'Developer'
);
$get_collection->insert( $data );
$find = $get_collection->find();
print_r( $find );

【问题讨论】:

    标签: php mongodb mongodb-query


    【解决方案1】:

    你有什么错误吗? 但我认为选择收藏的最佳方式是:

    try{
        // Connecting to server
        $m = new MongoClient('mongodb://root:root123@localhost');
    }catch(MongoConnectionException $connectionException){
        print $connectionException;
        exit;
    }
    try{
        // Getting MongoCollection
    
        $db = $m->db_name;
    }catch(MongoException $mongoException){
        print $mongoException;
        exit;
    }
    $collection_name = 'collection_name';
    $db->createCollection( $collection_name );
    
    //Selected the Collection
    $get_collection= $db->collection_name;
    
    $data = array(
       '_id' => '1_record',
       'name' => 'Majid Ali',
       'designation' => 'Developer'
    );
    try{
        // Inserting data into students collection
    
        $get_collection->insert( $data );
    }catch(MongoCursorException $mongoCursorException){
        echo $mongoCursorException;
        exit;
    } 
    $find = $get_collection->find();
    $array = iterator_to_array($find );
    print_r( $array  );
    

    【讨论】:

    • 我也刚刚尝试过这种方法,并且都返回空的 MongoCursor 对象而没有任何错误
    • 测试您与 mongodb 的连接,
    • 它正在插入记录,这些可以通过 RoboMongo GUI 工具查看,但是当我使用 find 时,它什么也没有显示
    • 伙计们,我刚试过 $get_collection->findOne();它向我展示了一个结果,但为什么 $get_collection->find();不工作?对我来说是个大问题:(
    • 是的,Provie9 非常感谢您,它适用于“iterator_to_array”。此外,它还使用 foreach 循环显示记录,谢谢大家,祝你有美好的一天。
    猜你喜欢
    • 2015-11-15
    • 1970-01-01
    • 1970-01-01
    • 2019-01-13
    • 2021-08-16
    • 2012-10-28
    • 2013-10-13
    • 2012-12-06
    • 1970-01-01
    相关资源
    最近更新 更多