Я хочу найти _id с помощью execQuery mongodb driver php.Mongodb php search using _id дает ошибки
Вот мой документ структура пользователей коллекция
{
"_id" : ObjectId("55ad0bd1032e1b12088b46a8"),
"email" : "[email protected]"
}
И мой 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 Fatal error: Uncaught exception 'MongoDB\Driver\Exception\ConnectionException' with message 'unknown operator: $id' in /test.php:27 Stack trace: 0 /test.php(27): MongoDB\Driver\Manager->executeQuery('db.users', Object(MongoDB\Driver\Query)) 1 {main} thrown in test.php on line 27
Любой Помогите?
Это странно, что это ConnectionException. Какая строка 27? Также, поскольку вы используете расширение php MongoDB (а не расширение Mongo), вы должны использовать '' ObjectID'' вместо MongoId. http://php.net/manual/en/class.mongodb-bson-objectid.php –