我想通过使用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}
任何帮助?
答案 0 :(得分:3)
根据@Felipe Sulser的评论
该行
$id = new MongoId("55ad0bd1032e1b12088b46a8");
应该是
$id = new MongoDB\BSON\ObjectId("55ad0bd1032e1b12088b46a8");
现在正在运作