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

Grails:conéctese a una base de datos MongoDB mediante autenticación

Me encontré con este mismo problema, así que puedo ayudar a explicar cómo Mongo realiza la autenticación. Verá que lo que hizo fue crear un usuario administrador en la base de datos de administración, lo cual es excelente. Sin embargo, está intentando conectarse a "mydb" directamente con el usuario administrador que no está permitido. ¿Suena confuso? Es porque lo es. Para ilustrar esto mejor aquí hay un ejercicio simple:

  1. Cree un usuario para la base de datos de administración como lo hizo anteriormente.
  2. salir del shell mongo
  3. ejecutar siguiendo

Eso fallará. Pero prueba esto en su lugar.

Esto funcionará porque cambiaste a esta base de datos con el contexto de administración y no intentaste conectarte directamente.

Entonces, todo lo que necesita hacer para que esto funcione es conectarse directamente a la base de datos que desea y crear un usuario directamente en esa base de datos de la siguiente manera:

Actualice su archivo de configuración de Grails con esto y apuesto a que funcionará.

Tenga en cuenta que solo la última parte es su respuesta y resuelve su problema, pero como luché con esto y lo descubrí de la manera más difícil, creo que el contexto realmente ayuda a comprender mejor la autenticación de mongo.

Cuídate