Mongo php驱动程序处理错误,我的失败在哪里?

时间:2014-07-30 12:55:59

标签: php mongodb

视频就在这里: http://youtu.be/ijqde9SLd3s

我有php代码:http://pastebin.com/Bb9SSQpy 我有这个print_r空结果:

    MongoCursor Object
     

(   )

我使用此数据库:http://pastebin.com/vz7M0KDB 在mongo控制台中一切正常,这个命令

db.unicorns.find({weight:{$lt:400}})

给我这个结果

  

{“_ id”:ObjectId(“53d191248f800def0598465b”),“name”:“Billy”,“gender”:“m”,“loves”:[“banana”,“apple”],“weight”:120 ,“吸血鬼”:14}

此处的控制台屏幕截图:http://rghost.ru/57170098.view

我的问题在哪里?为什么php中的print_r游标是空的?

3 个答案:

答案 0 :(得分:1)

是否有有效连接?默认情况下,它在localhost:27017

连接到本地MongoDB实例

有关连接的详情,请参阅此页面: http://php.net/manual/en/class.mongoclient.php

答案 1 :(得分:0)

使用print_r(iterator_to_array(MongoCursor Object));将迭代器转换为数组并打印它,或者使用

迭代它
foreach(MongoCursor Object as $resultObject) { }

答案 2 :(得分:0)

由于数据类型的原因,您在PHP中查询:

   $cur = $col->find(array(
        'weight' => array (
            '$lt' => '400'
        )
   ));

但是在您的数据库中,您有:

 weight: 600,

您必须按类型进行查询,取消这些字符串部分并按int进行查询。