【问题标题】:mongodb query via php 7 failing silently?通过 php 7 进行的 mongodb 查询静默失败?
【发布时间】: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


    【解决方案1】:

    我将连接字符串改为如下所示:

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

    然后查询:

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

    【讨论】:

    • 嗨点,我找不到文档。对于带有新的 \MongoDB\Driver\Manager 的 php7 。你能和我分享任何链接吗
    • 我实际上是从这个链接开始的,但是......所有函数的例子都很少......
    猜你喜欢
    • 1970-01-01
    • 2013-01-05
    • 2012-03-24
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-06-28
    • 1970-01-01
    • 2022-11-03
    相关资源
    最近更新 更多