J'essaie d'autoriser sur ma base de données et d'obtenir des enregistrements, mais j'obtiens cette étrange erreur:
4 Réponses :
Je ne sais pas si ce ticket est lié, car je vois toujours ce problème avec MongoDB 4.0.9, mais la façon dont je l'ai corrigé était de ne pas utiliser db.auth ()
mais de quitter le shell, puis de vous reconnecter:
mongo --ssl mongodb://myhost.io --authenticationDatabase admin -u adminUser -p
Vous avez autorisé trop d'utilisateurs. Une solution est de quitter d'abord le shell, puis d'essayer à nouveau d'autoriser:
db.auth("db_user","db_pass")
Vous n'avez pas besoin d'autorisation lorsque vous créez une connexion
use your_file_db
maintenant vous pouvez utiliser
mongo
et maintenant vous pouvez obtenir vos enregistrements.
Ou vous pouvez directement autoriser le super gestionnaire et vous pouvez également obtenir les enregistrements dans votre base de données.
Selon le problème suivant de mongodb jira, une seule authentification autorisée par session https://jira.mongodb.org/browse/SERVER-40967 p >
vous ne pouvez utiliser cet utilisateur que dans mongodb, que vous avez utilisé lors de la connexion via mongo shell.
Faire db.auth () pour tout autre utilisateur donnera une erreur.
Vous devez utiliser db.logout ()
pour déconnecter l'utilisateur et, plus important encore, cela doit être fait à l'intérieur des bases de données de l'utilisateur actuel (dont vous vous déconnectez) a accès à.
Par exemple, disons que vous êtes actuellement dans la base de données admin
. Si vous passez à une autre base de données et que vous vous déconnectez, puis connectez-vous avec le nouvel utilisateur, cette erreur s'affichera.