Php 将MongoDB与Symfony 4一起使用

Php 将MongoDB与Symfony 4一起使用,php,mongodb,symfony,symfony4,Php,Mongodb,Symfony,Symfony4,我对Symfony 4和MongoDB Atlas云集群有一些小问题。。。但在本地,我认为是一样的。我使用的是Windows10Pro和PHP7.1.1 基于本文 这是我的管理控制器中的代码 $mongo = new MongoClient(); $dbs = $mongo->listDBs(); print_r($dbs); 我收到这个错误 Attempted to load class "MongoClient" from namespace "Ap

我对Symfony 4和MongoDB Atlas云集群有一些小问题。。。但在本地,我认为是一样的。我使用的是Windows10Pro和PHP7.1.1

基于本文

这是我的管理控制器中的代码

 $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外部phpinfo输出

composer.json

作曲家版本

我还使用mongodb odm包。这项工作很好,但我也希望在我的项目中使用官方遗留mongodb库与集群连接,这样就可以了。但是当我尝试使用MongoClient时,我得到了这个错误


那么,我必须使用哪个use语句?

我认为您指的是mongodb/mongodb,而不是doctrine/mongodb中的客户机类名是:\mongodb\Client

因此,更新代码应该做到以下几点:

$mongo = new \MongoDB\Client();
$dbs = $mongo->listDBs();
print_r($dbs);

Symfony 4+Mongodb Atlas的正确配置

1个作曲家需要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);

嗨,迈克尔。使用\in\MongoDB给出一个错误。没有$mongo=新的MongoDB\Client;我认为这是正确的。但是执行这一行输出是一个白页而不是错误。没有给出listdb。。。是:我的意思是mongodb/mongodb…我想使用我在.env中使用的连接setuo,就像在MongoodBundle中一样,不需要在任何时候重复字符串连接。类似这样的$dm=$this->get'doctrine\u mongodb'->getManager;doctrine_mongodb是我的symfony连接设置,哪个错误?空白页表示找不到已静默的致命错误类?。使用$mongo=new MongoDB\Client就可以了。现在的问题是另一个。使用$dbs=$mongo->listDatabases;没有结果。我读了这篇文章啊,好吧,你应该可以让你的经理像这样获取Mongo连接:$this->get'doctor\u mongodb'->getManager->getConnection->getMongo;
namespace App\Controller\your_controller;
use MongoDB;
$connection = 'mongodb://___full_URI_MongoDBAtlas___';
$client = new MongoDB\Client($connection);
$dbs = $client->listDatabases();
var_dump($dbs);