繁体   English   中英

Php MongoDB,致命错误:找不到类“MongoDB\\Driver\\Manager”

[英]Php MongoDB, Fatal error: Class 'MongoDB\Driver\Manager' not found in

mongo 信息的图像

MongoDB shell 版本 v3.4.1

mongodb 驱动 v1.6.14

xampp v3.2.1, Apache/2.4.16 (Win32) OpenSSL/1.0.1p PHP/5.6.12

我是第一次跑步,遇到这个问题请帮助我。

致命错误:在第 81 行的 H:\\xampp\\htdocs\\www\\phpmongodb\\vendor\\mongodb\\mongodb\\src\\Client.php 中找不到类 'MongoDB\\Driver\\Manager'

在设置 mongodb 之前,我遇到了同样的错误,将以下链接添加到'vendor/autoload.php' 在许多情况下,您需要检查您的主机。 在我的代码如下所示后它开始工作:

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

然后,如果您使用 MongoDB\\Driver\\Manager(MongoDB 驱动程序的现代版本),您会看到如下所示的内容:

在集合中创建一个文档

$bulkWrite = new MongoDB\Driver\BulkWrite;
$doc = ['name' => 'John', age => 33, profession => 'Guess what?'];
$bulkWrite->insert($doc);
$manager->executeBulkWrite('db.MyCollection', $bulkWrite);

按名称读取集合中文档有限制:

$filter = ['name' => 'John'];
$options = ['limit' => 2];
$query = new MongoDB\Driver\Query($filter, $options);
$manager->executeQuery('db.MyCollection', $query);

通过 MongoDb _id 以限制读取集合中文档

$filter = ['_id' => new MongoDB\BSON\ObjectID( '5bdf54e6d722dc000f0aa6c2' )];
$options = ['limit' => 2];
$query = new MongoDB\Driver\Query($filter, $options);
$manager->executeQuery('db.MyCollection', $query);    

更新集合中的文档:(在此处阅读有关选项 upsert 和 multi 的更多信息)

$bulkWrite = new MongoDB\Driver\BulkWrite;
$filter = ['name' => 'John'];
$update = ['$set' => ['name' => 'Smith', age: 35, profession => 'Guess what?']];
$options = ['multi' => false, 'upsert' => false];
$bulkWrite->update($filter, $update, $options);
$manager->executeBulkWrite('db.MyCollection', $bulkWrite);    

删除集合中的文档 - 删除

$bulkWrite = new MongoDB\Driver\BulkWrite;
$filter = ['name' => 'John', age => 35];
$options = ['limit' => 1];
$bulkWrite->delete($filter, $options);
$manager->executeBulkWrite('db.MyCollection', $bulkWrite);

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM