我有一些小问题Symfony 4和MongoDB地图集(云团.但在当地,我认为是一样的)。我在Windows 10 pro上使用php 7.1.1。
基于本文
http://php.net/manual/en/mongodb.tutorial.library.php
这是我的管理控制器内的代码
$mongo = new MongoClient();
$dbs = $mongo->listDBs();
print_r($dbs);我收到这个错误
Attempted to load class "MongoClient" from namespace "App\Controller\Admin".
Did you forget a "use" statement for "MongoClient"?但是:我的扩展名已正确加载。
MongoDb ext.phpinfo()输出
mongodb
MongoDB support enabled
MongoDB extension version 1.3.4
MongoDB extension stability stable
libbson bundled version 1.8.2
libmongoc bundled version 1.8.2
libmongoc SSL enabled
libmongoc SSL library OpenSSL
libmongoc crypto enabled
libmongoc crypto library libcrypto
libmongoc crypto system profile disabled
libmongoc SASL enabled
Directive Local Value Master Value
mongodb.debug no valuecomposer.json
"alcaeus/mongo-php-adapter": "^1.1",
"doctrine/mongodb": "^1.6",
"doctrine/mongodb-odm": "^1.2",
"doctrine/mongodb-odm-bundle": "^3.4",
"mongodb/mongodb": "^1.2",Composer版本
1.6我还使用mongodb bundle。这很好,但是我希望在我的项目中也使用官方遗留的mongodb (与集群的连接没关系)。但是当我尝试使用MongoClient()时,我得到了这个错误.
那么,我必须使用哪一种“使用语句”?
发布于 2018-01-28 19:20:18
Symfony 4+ Mongodb地图集的正确配置
1) composer要求mongodb/mongodb (没有其他)
控制器
namespace App\Controller\your_controller;包括图书馆
use MongoDB;连接(例如获取数据库列表)
$connection = 'mongodb://___full_URI_MongoDBAtlas___';
$client = new MongoDB\Client($connection);
$dbs = $client->listDatabases();
var_dump($dbs);发布于 2018-01-26 07:32:25
客户端类名(我认为您指的是mongodb/mongodb,而不是doctrine/mongodb)是:\MongoDB\Client。
因此,更新您的代码应该可以做到这一点:
$mongo = new \MongoDB\Client();
$dbs = $mongo->listDBs();
print_r($dbs);https://stackoverflow.com/questions/48457202
复制相似问题