Php 搜索mongodb问题(本地/远程)
我在两个不同的环境中使用mongodb数据库和php脚本时遇到问题 第一个环境在本地主机上具有x86 mongodb版本。 第二个环境在远程服务器上具有x64 mongodb版本 php脚本是相同的(在x86 mongodb机器上) IP本地主机为127.0.0.1,本地主机为188。。。。用于远程服务器。在两个mongodb数据库上,都是具有相同数据的相同集合(导入/导出) mongo对象列表对于两台服务器也是相同的…已连接1Php 搜索mongodb问题(本地/远程),php,mongodb,Php,Mongodb,我在两个不同的环境中使用mongodb数据库和php脚本时遇到问题 第一个环境在本地主机上具有x86 mongodb版本。 第二个环境在远程服务器上具有x64 mongodb版本 php脚本是相同的(在x86 mongodb机器上) IP本地主机为127.0.0.1,本地主机为188。。。。用于远程服务器。在两个mongodb数据库上,都是具有相同数据的相同集合(导入/导出) mongo对象列表对于两台服务器也是相同的…已连接1 Mongo Object ( [connected] =&
Mongo Object
(
[connected] => 1
[status] =>
[server:protected] =>
[persistent:protected] =>
)
我不明白为什么在本地连接上它会返回一些结果,但在远程服务器上它不会返回记录
请注意,我的笔记本电脑坏了。。。我可以访问数据库(connected=>1)首先,如果您使用的是1.3或更高版本的驱动程序,我建议使用MongoClient类代替Mongo(因为不推荐使用) 由于已使用指定100000毫秒,脚本的挂起时间不应超过100秒,因为如果驱动程序在该时间内未收到服务器的响应,则应引发MongoCorSortimeoutException 为了进一步调试,我建议先降低超时值,然后比较每个服务器的输出。explain输出应该清楚地表明,如果一台服务器没有使用索引进行查询,正如上面Sammaye所假设的那样 此外,添加以下内容将允许您收集驱动程序内部活动的日志:
MongoLog::setModule(MongoLog::ALL);
MongoLog::setLevel(MongoLog::ALL);
MongoLog::setCallback('print_mongo_log');
function print_mongo_log($a, $b, $c) { echo $c, "\n"; }
它是否会产生某种错误?你能在Mongo控制台中找到这些记录吗?您不需要在脚本中使用$and。日志有什么说明吗?没有错误,我可以在mongo控制台中找到记录。。。。美元和。。我把它拿走了。但还是一样的问题…我只是从另一个问题想,这两个系统之间的索引是什么?
MongoLog::setModule(MongoLog::ALL);
MongoLog::setLevel(MongoLog::ALL);
MongoLog::setCallback('print_mongo_log');
function print_mongo_log($a, $b, $c) { echo $c, "\n"; }