MongoDB
 sql >> Base de Dados >  >> NoSQL >> MongoDB

Grails - Conecte-se a um banco de dados MongoDB usando autenticação


Eu me deparei com esse mesmo problema para ajudar a explicar como o Mongo faz a autenticação. Você vê o que você fez é criar um usuário administrador no banco de dados de administração, o que é ótimo. No entanto, você está tentando se conectar ao "mydb" diretamente com o usuário administrador, o que não é permitido. Parece confuso? É porque é. Para ilustrar melhor, aqui está um exercício simples:
  1. Crie um usuário para o banco de dados administrativo como você fez acima.
  2. sair do shell mongo
  3. executar seguindo

Isso vai falhar. Mas tente isso em vez disso.

Isso funcionará porque você mudou para esse banco de dados com o contexto de administrador e não tentou se conectar diretamente a ele.

Portanto, tudo o que você precisa fazer para que isso funcione é conectar-se diretamente ao banco de dados desejado e criar um direito de usuário nesse banco de dados da seguinte forma:

Atualize seu arquivo de configuração do grails com isso e aposto que funcionará.

Observe que apenas a última parte é sua resposta e resolve seu problema, mas como lutei com isso e descobri da maneira mais difícil, acho que o contexto realmente ajuda a entender melhor a autenticação do mongo.

Cuidar