无法通过doctrine与mongodb连接

无法通过doctrine与mongodb连接,mongodb,symfony,vue.js,docker-compose,symfony4,Mongodb,Symfony,Vue.js,Docker Compose,Symfony4,我和几个朋友一起去学校做一个项目。现在,我正试图用已有的mongodb设置我们的symfony项目,但在找到它时遇到了问题 我正试图按照官方指南,从www.symfony.com上用bundle DoctrineMongoDBBundle设置这个组合 我的教义: doctrine_mongodb: auto_generate_proxy_classes: '%kernel.debug%' auto_generate_hydrator_classes: '%kernel.debug%'

我和几个朋友一起去学校做一个项目。现在,我正试图用已有的mongodb设置我们的symfony项目,但在找到它时遇到了问题

我正试图按照官方指南,从www.symfony.com上用bundle DoctrineMongoDBBundle设置这个组合

我的教义:

doctrine_mongodb:
  auto_generate_proxy_classes: '%kernel.debug%'
  auto_generate_hydrator_classes: '%kernel.debug%'
  connections:
    default:
      server: "%mongodb_server%"
      options:
        username: "%mongodb_username%"
        password: "%mongodb_password%"
        authSource: "%mongodb_db%"
  default_database: "%mongodb_auth_db%"
  document_managers:
    default:
      auto_mapping: true
      mappings:
        App:
          is_bundle: false
          type: annotation
          dir: '%kernel.project_dir%/src/Document'
          prefix: App\Document\
          alias: App
从services.yaml获取的值

parameters:
    locale: 'en'
    mongodb_server: "mongodb://mongodb:27017"
    mongodb_username: "admin"
    mongodb_password: "my_password"
    mongodb_auth_db: "admin"
    mongodb_db: "users"
我们在docker环境中工作,所以我的symfony项目和数据库在两个不同的docker上(我需要通过它们连接,所以localhost不工作)

作为我为用户在控制器上工作的第一个功能,我正在尝试使注册用户工作,这是我当前使用的控制器(仍然带有模拟数据):

/**
*@Route(“/api/security/register”,name=“register”)
*@Method(“GET”)
*@return-JsonResponse
*/
公共函数registerAction():JsonResponse
{
$user=新用户();
$user->setUsername('test');
$user->setEmail($user)test@test.test');
$user->setPlainPassword('testtest');
$dm=$this->get('doctrine\u mongodb')->getManager();
$dm->persist($user);
$dm->flush();
返回新的JsonResponse(数组('Status'=>'OK'));
}
同样在数据库中,我想连接到管理员用户,管理员用户有权写入“用户”数据库(在那个里我想保存我的新用户)

尝试发送请求时出现错误:


request.CRITICAL:Uncaught PHP Exception MongoConnectionException:“找不到合适的服务器(
serverSelectionTryOnce
set):[Failed to resolve'mongodb']”位于/var/www/html/vendor/alcaeus/mongo PHP adapter/lib/alcaeus/MongoDbAdapter/ExceptionConverter.PHP第79行{“Exception”:“[object](MongoConnectionException)(代码:13053):在/var/www/html/vendor/alcaeus/mongo-php-adapter/lib/alcaeus/MongoDbAdapter/ExceptionConverter.php:79,mongodb\Driver\Exception\ConnectionTimeoutException(代码:13053):未找到合适的服务器(
serverSelectionTryOnce
set):[无法解析'mongodb']at/var/www/html/vendor/mongodb/mongodb/src/Collection.php:867)“}[]

问题确实出在我的docker compose文件中,我没有将两个docker都连接到网络,谢谢帮助@BrucieAlpha

你使用docker compose吗?如果是,请共享你的docker compose.yaml…如果不是,你必须确保你的容器在同一个网络中…@BrucieAlpha现在我看到它们(两个不同的docker Composer)他们不共享同一个网络,因为我刚刚开始使用docker,我不知道它会阻止他们之间的连接,谢谢你的建议,我会尝试将他们添加到同一个网络,而且我会用docker composer的更新票证