sql >> Base de Datos >  >> NoSQL >> MongoDB

No se puede conectar a MongoDB (MongoLabs) a través del cliente C#

Si tuviera que aventurarme a adivinar, lo más probable es que el problema sea un problema de firewall. Debe verificar lo siguiente

  • nslookup del host (ds048719.mlab.com) del host de la aplicación C#
  • ping del host (ds048719.mlab.com) del host de la aplicación C# (puede fallar, según la configuración de mLab)
  • Que su dirección IP esté en la lista blanca
  • Pruebe la conexión con Mongo Shell desde el mismo host donde se ejecuta la aplicación C#. mLab tiene documentos aquí.
  • Pruebe la conexión con un telnet sin formato , por ejemplo, telnet ds048719.mlab.com 48719
  • Asegúrese de estar utilizando la authenticationDatabase correcta. (en su ejemplo, esto está especificado por /db ), suele ser admin pero podría ser el nombre de su base de datos si está en una instancia compartida.

Puede encontrar los documentos sobre la conexión con el controlador C# en MongoDB C# Driver Docs. Es importante tener en cuenta lo siguiente:

El componente de base de datos

El componente de la base de datos es opcional y se usa para indicar contra qué base de datos se debe autenticar. Cuando no se proporciona el componente de la base de datos, se utiliza la base de datos "admin".

mongodb://host:27017/mydb

Arriba, la base de datos con el nombre de "mydb" es donde se almacenan las credenciales para la aplicación.

NOTA:

Algunos controladores utilizan el componente de base de datos para indicar con qué base de datos trabajar de manera predeterminada. El controlador .NET, mientras analiza el componente de la base de datos, no usa el componente de la base de datos para otra cosa que no sea la autenticación.

Finalmente, sugeriría en el futuro, ofuscar el nombre de host y el puerto al publicar en SO. Si bien la seguridad a través de la oscuridad por sí sola es una mala política, ciertamente agrega una capa de defensa para su implementación de MongoDB.