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

No se puede conectar con el superusuario de MongoDB a las otras bases de datos desde la terminal

Mongo autenticado es un verdadero dolor en el trasero. Aunque su superusuario es básicamente omnipotente por naturaleza de [ "userAdminAnyDatabase", "dbAdminAnyDatabase", "clusterAdmin", "readWriteAnyDatabase"], su cuenta system.user aún se basa en la base de datos "admin" si la configura según http://docs.mongodb.org/manual/tutorial/enable-authentication/ . Esto significa que primero debe iniciar sesión en "admin", luego puede "usar la base de datos" a su manera.

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

Alternativamente, sospecho, pero no he probado, que podría poner a su superusuario en la base de datos de "prueba" en lugar de "administrador", que es donde el shell lo lleva por defecto. Eso le permitiría dejar el "administrador" fuera de la línea de comando de mongo, pero ahora tiene a sus usuarios mantenidos en diferentes lugares. Roca. Lugar difícil.