【发布时间】:2017-09-15 22:27:59
【问题描述】:
我有以下测试代码来查看我的 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 是否有详细日志记录。
谢谢。
【问题讨论】:
标签: php mongodb mongodb-query php-7