MongoDB
 sql >> Base de données >  >> NoSQL >> MongoDB

Impossible de se connecter avec le superutilisateur MongoDB aux autres bases de données depuis le terminal

Le mongo authentifié est un casse-pieds royal. Même si votre superutilisateur est fondamentalement omnipotent par nature [ "userAdminAnyDatabase", "dbAdminAnyDatabase", "clusterAdmin", "readWriteAnyDatabase"], son compte system.user est toujours basé dans la base de données "admin" si vous le configurez selon http://docs.mongodb.org/manual/tutorial/enable-authentication/ . Cela signifie que vous devez d'abord vous connecter à "admin", puis vous pouvez "utiliser la base de données" à votre guise.

$ mongo mono -u superuser -p 1234 admin
MongoDB shell version: 2.4.6
connecting to: admin
myReplSet:PRIMARY> use mono

Alternativement, je soupçonne, mais je n'ai pas testé, que vous pourriez mettre votre superutilisateur dans la base de données "test" plutôt que "admin" qui est l'endroit où le shell vous atterrit par défaut. Cela vous permettrait de laisser "l'administrateur" hors de la ligne de commande mongo, mais maintenant vous avez vos utilisateurs maintenus à différents endroits. Rock. Endroit dur.