Исключение Php MongoDB: не авторизован на БД для выполнения команды {update:

У меня есть следующий код

$bulkWrite=new MongoDB\Driver\BulkWrite;
$filter = ['name' => 'John'];
$update = ['$set' => ['name' => 'Smith', age: 35, profession => 'pilot']];
$options = array('multi' => false, 'upsert' => false);
$bulkWrite->update($filter, $options);
$mongoConn->executeBulkWrite('MyCollection', $bulkWrite);

Код возвращает ошибку:

Exception:not authorized on db to execute command { update:

В чем проблема?

0

Решение

Изучив код, я обнаружил, что проблема в названии коллекции.
Если у нас есть раньше:

$DB_CONNECTION_STRING="mongodb://dbName:dbPassword";
require '../../vendor/autoload.php';
$mongoConn = new MongoDB\Driver\Manager( $DB_CONNECTION_STRING );

Затем, после того, как нам понадобится правильная ссылка на dbName:

$bulkWrite=new MongoDB\Driver\BulkWrite;
$filter = ['name' => 'John'];
$update = ['$set' => ['name' => 'Smith', age: 35, profession => 'pilot']];
$options = array('multi' => false, 'upsert' => false);
$bulkWrite->update($filter, $options);
$mongoConn->executeBulkWrite('dbName.MyCollection', $bulkWrite);
0

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]