视频就在这里: 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游标是空的?
答案 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进行查询。