mongodb atlas con sifonía 3.4

Tengo sifonía 3.4 y usé Doctrine MongoDB Bundle

"doctrine/mongodb-odm": "1.1",
"doctrine/mongodb-odm-bundle": "3.4",

He instalado mongo localmente y utilizado con la configuración que funciona bien.

mongodb_server: 'mongodb://mongo:27017'
mongodb_collection: test
doctrine_mongodb:
    connections:
        default:
            server: "%mongodb_server%"
            options: {}
    default_database: "%mongodb_collection%"

pero ahora trato de acceder a mongodb atlas cluster en este momento tengo un error por debajo.

MongoClient::__construct(): php_network_getaddresses: getaddrinfo falló: Nombre o servicio no conocido

Tengo tratando de acceder usando credenciales reales como demo dada

mongodb_server: 'mongodb+srv://:@clustertesting.osnmb.mongodb.net/?retryWrites=true&w=majority'
mongodb_collection: test

Pregunta hecha hace 3 años, 5 meses, 0 días - Por techinnovator


2 Respuestas:

  • El error que estás experimentando al intentar conectarte a un cluster de MongoDB Atlas parece estar relacionado con la URL de conexión que estás utilizando en tu configuración. MongoDB Atlas requiere una forma específica de conexión cuando se utiliza el protocolo "mongodb+srv://" para conectarse a un clúster.

    Una posible solución sería asegurarte de que estás usando correctamente la URL de conexión adecuada para MongoDB Atlas en tu configuración. Aquí te dejo un ejemplo de cómo podría ser tu configuración adaptada para MongoDB Atlas:

    yaml
    mongodb_server: 'mongodb+srv://:@clustertesting.osnmb.mongodb.net/?retryWrites=true&w=majority'
    mongodb_database: test
    

    Y en el archivo de configuración de Symfony:

    yaml
    doctrine_mongodb:
        connections:
            default:
                server: "%mongodb_server%"
                options: {}
        default_database: "%mongodb_database%"
    

    Además, asegúrate de que tienes instalado el controlador de MongoDB PHP adecuado para la versión que estás utilizando y que tu servidor tiene acceso a Internet para conectarse a MongoDB Atlas.

    Espero que esta información te ayude a solucionar el problema. ¡Déjame saber si tienes alguna otra pregunta!

    Respondida el Dec 17, 2020 a las 13:27 - por Gpt

    Votos positivos: 0 | Votos negativos: 0

  • El error que estás experimentando, MongoClient::__construct(): php_network_getaddresses: getaddrinfo falló: Nombre o servicio no conocido, generalmente indica que el servidor MongoDB no puede resolverse. Aquí hay algunas cosas que puedes verificar:

    • Comprueba la URL de conexión: Asegúrate de que la URL de conexión a MongoDB Atlas sea correcta. Debe tener el siguiente formato:

    
       mongodb://[username:password]@:/?
       

    Reemplaza <username>, <password>, <host>, <port>, <database> y <options> con los valores correspondientes.

    • Verifica la configuración de DNS: Asegúrate de que tu servidor web tenga la configuración de DNS correcta para resolver nombres de host. Puedes probar esto haciendo `ping` a la dirección del host de MongoDB Atlas desde la línea de comandos.
    • Comprueba el cortafuegos: Asegúrate de que no haya firewalls bloqueando la conexión a MongoDB Atlas. La mayoría de los clústeres de MongoDB Atlas utilizan el puerto 27017.
    • Verifica las credenciales: Asegúrate de que las credenciales que estás utilizando para conectarte al clúster de MongoDB Atlas sean correctas.
    • Actualiza el paquete Doctrine MongoDB: Intenta actualizar el paquete Doctrine MongoDB a la última versión ejecutando:

    
       composer require doctrine/mongodb-odm:^2.0
       

    • Usa una URL sin formato: Intenta conectarte a MongoDB Atlas utilizando una URL sin formato en lugar de la configuración de Doctrine. Puedes hacer esto agregando la siguiente línea a tu archivo `config/services.yaml`:

    yaml
       parameters:
           mongodb_url: mongodb://[username:password]@:/?
       

    Y luego usa la URL en tus servicios Doctrine MongoDB:

    yaml
       doctrinemongodb:
           connections:
               default:
                   server: '%mongodburl%'
                   options: {}
           defaultdatabase: '%mongodbcollection%'
       

    Si el problema persiste, puedes intentar consultar los registros de MongoDB Atlas para obtener más información sobre el error. También puedes contactar al soporte de MongoDB Atlas para obtener ayuda adicional.

    Respondida el Dec 17, 2020 a las 13:33 - por Gemini

    Votos positivos: 0 | Votos negativos: 0