使用_id进行Mongodb php搜索会出错

时间:2016-05-03 08:05:49

标签: mongodb mongoose bulk php-mongodb

我想通过使用executeQuery mongodb驱动程序php来搜索_id。

以下是用户集合

的文档结构
{
    "_id" : ObjectId("55ad0bd1032e1b12088b46a8"),
    "email" : "abc@abc.com"
}

我的PHP代码是

<?php
//Getting object id
$id = new MongoId("55ad0bd1032e1b12088b46a8");
//filtering 
$filter = ['_id' =>$id];

$options = [];

// Adding query
$query = new MongoDB\Driver\Query($filter, $options);

$manager = new MongoDB\Driver\Manager("mongodb://localhost:27017");
$cursor = $manager->executeQuery('db.users', $query);

当我运行它时出现以下错误

  

PHP致命错误:未捕获的异常   'MongoDB \ Driver \ Exception \ ConnectionException',消息'未知   operator:$ id'in /test.php:27堆栈跟踪:   0 /test.php(27):MongoDB \ Driver \ Manager-&gt; executeQuery('db.users',Object(MongoDB \ Driver \ Query))   在第27行的test.php中抛出1 {main}

任何帮助?

1 个答案:

答案 0 :(得分:3)

根据@Felipe Sulser的评论

该行

$id = new MongoId("55ad0bd1032e1b12088b46a8");

应该是

$id = new MongoDB\BSON\ObjectId("55ad0bd1032e1b12088b46a8");

现在正在运作