首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用MongoDB与Symfony 4

问使用MongoDB与Symfony 4
EN

Stack Overflow用户
提问于 2018-01-26 07:25:30
回答 2查看 3.9K关注 0票数 0

我有一些小问题Symfony 4和MongoDB地图集(云团.但在当地,我认为是一样的)。我在Windows 10 pro上使用php 7.1.1。

基于本文

http://php.net/manual/en/mongodb.tutorial.library.php

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

代码语言:javascript
复制
 $mongo = new MongoClient();
        $dbs = $mongo->listDBs();
        print_r($dbs);

我收到这个错误

代码语言:javascript
复制
Attempted to load class "MongoClient" from namespace "App\Controller\Admin".
Did you forget a "use" statement for "MongoClient"?

但是:我的扩展名已正确加载。

MongoDb ext.phpinfo()输出

代码语言:javascript
复制
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 value

composer.json

代码语言:javascript
复制
"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版本

代码语言:javascript
复制
1.6

我还使用mongodb bundle。这很好,但是我希望在我的项目中也使用官方遗留的mongodb (与集群的连接没关系)。但是当我尝试使用MongoClient()时,我得到了这个错误.

那么,我必须使用哪一种“使用语句”?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2018-01-28 19:20:18

Symfony 4+ Mongodb地图集的正确配置

1) composer要求mongodb/mongodb (没有其他)

控制器

代码语言:javascript
复制
namespace App\Controller\your_controller;

包括图书馆

代码语言:javascript
复制
use MongoDB;

连接(例如获取数据库列表)

代码语言:javascript
复制
$connection = 'mongodb://___full_URI_MongoDBAtlas___';
$client = new MongoDB\Client($connection);
$dbs = $client->listDatabases();
var_dump($dbs);
票数 1
EN

Stack Overflow用户

发布于 2018-01-26 07:32:25

客户端类名(我认为您指的是mongodb/mongodb,而不是doctrine/mongodb)是:\MongoDB\Client。

因此,更新您的代码应该可以做到这一点:

代码语言:javascript
复制
$mongo = new \MongoDB\Client();
$dbs = $mongo->listDBs();
print_r($dbs);
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/48457202

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档