mongodb查询通过php 7无声地失败?

时间:2017-04-19 15:27:10

标签: php mongodb mongodb-query php-7

我有以下测试代码,看看我的php服务器是否配置正确以查询mongo数据库:

<?php
//http://php.net/manual/en/class.mongodb-driver-query.php/

$mongo = new \MongoDB\Driver\Manager('mongodb://127.0.0.1/widget:27017');
$id           = new \MongoDB\BSON\ObjectId("582f629a6b6347a422abb8ad");
$filter      = ['_id' => $id];
$options = [];

$query = new \MongoDB\Driver\Query($filter, $options);
$rows   = $mongo->executeQuery('db.new_widgets', $query); 
var_dump($query);
foreach ($rows as $document) {
  var_dump($document);
}

?>

运行时,不返回任何文件。 这就是我在mongo日志中看到的:

2017-04-19T15:06:51.562+0000 I NETWORK  [thread1] connection accepted from 127.0.0.1:56870 #17 (9 connections now open)
2017-04-19T15:06:51.562+0000 I NETWORK  [conn17] received client metadata from 127.0.0.1:56870 conn17: { driver: { name: "mongoc / ext-mongodb:PHP", version: "1.5.5 / 1.2.8" }, os: { type: "Linux", name: "Linux", version: "3.5.0", architecture: "x86_64" }, platform: "cfg=0x30c9 posix=200809 stdc=201112 CC=GCC 6.3.0 CFLAGS="-Os -fomit-frame-pointer" LDFLAGS="-Wl,--as-needed" / PHP 7.1.3" }

apache错误日志中没有错误。

在网页上,就$ query转储而言,这就是我所看到的:

object(MongoDB\Driver\Query)#3 (3) { ["filter"]=> object(stdClass)#6 (1) { ["_id"]=> object(MongoDB\BSON\ObjectID)#5 (1) { ["oid"]=> string(24) "582f629a6b6347a422abb8ad" } } ["options"]=> object(stdClass)#7 (0) { } ["readConcern"]=> NULL }

当我通过mongo shell /命令行尝试相同的查询时,我得到的测试记录没有问题。 只是想知道我错过了什么。 我用mongodb 3.4运行php7

我目前正在调查mongo是否有冗长的日志记录。

感谢。

1 个答案:

答案 0 :(得分:0)

我将连接字符串更改为:

 $mongo new \MongoDB\Driver\Manager('mongodb://localhost:27017');

然后查询:

 $rows   = $mongo->executeQuery('widgets.new_widgets', $query);