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

Não é possível conectar com o superusuário do MongoDB aos outros bancos de dados do terminal


Mongo autenticado é uma dor de cabeça real. Mesmo que seu superusuário seja basicamente onipotente por natureza de [ "userAdminAnyDatabase", "dbAdminAnyDatabase", "clusterAdmin", "readWriteAnyDatabase"], sua conta system.user ainda é baseada no banco de dados "admin" se você configurar conforme http://docs.mongodb.org/manual/tutorial/enable-authentication/ . Isso significa que você precisa fazer login no "admin" primeiro, depois pode "usar o banco de dados" do seu jeito.
$ mongo mono -u superuser -p 1234 admin
MongoDB shell version: 2.4.6
connecting to: admin
myReplSet:PRIMARY> use mono

Como alternativa, suspeito, mas não testei, que você poderia colocar seu superusuário no banco de dados "teste" em vez de "admin", que é onde o shell o coloca por padrão. Isso permitiria que você deixasse o "admin" fora da linha de comando do mongo, mas agora você mantém seus usuários em lugares diferentes. Pedra. Lugar Difícil.