MongoDB:shell访问时和.find()上的不同返回值

时间:2013-07-24 06:04:53

标签: php mongodb

我开始使用MongoDB 2.4.4,我有一个非常有效的案例来查询一些帖子,在php中按字段显示。

在mongoshell中, db.posts.find({page_id:345671} (例如)为我提供了293个文档。

php等价物:

$connection = new Mongo('mongodb://localhost:27017');
$db = connection->selectDB('post_db');
$posts = $db->posts->find(array('page_id' => 345671));

总是返回一个零,但是,当一个find数组为空时,它会返回整个集合。

另外, - > explain()和.explain()给了我不同的参数。

我做错了什么?没有分片,没有索引,只有一些测试数据,我正处于开始阶段。

1 个答案:

答案 0 :(得分:0)

已解决,非常感谢Vitaly Muminov “我不太确定,但你可以尝试设置ini_set('mongo.native_long',1);或者将你的数字包装到MongoInt64类中”

解决方案是将数字包装到 MongoInt64