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

não é possível fazer script de shell mongo básico com autenticação


Eu finalmente fiz este trabalho. Foi assim que acabei fazendo:

Primeiro eu fiz um arquivo chamado test.js com o seguinte:
db = connect("localhost:27017/admin");

db.auth('username','password');

db = db.getSiblingDB('test');

var cursor = db.cust.find();

while (cursor.hasNext()) {
   printjson(cursor.next());
}

Em seguida, executei este comando na linha de comando:
mongo test.js

Também quero destacar algumas coisas que aprendi ao tentar fazer isso com qualquer outro desenvolvedor que esteja tendo problemas.

1) se você adicionar um novo banco de dados e estiver executando o mongo com autenticação, será necessário fazer login no banco de dados de autenticação primeiro e depois alternar para o banco de dados desejado (como mostra meu exemplo) ou adicionar um usuário/senha ao banco de dados desejado (como eu provavelmente deveria ter feito em primeiro lugar)

2) Ao executar um arquivo javascript via mongo, não espere usar as mesmas funções "javascript" que você está acostumado. Acabei de aprender uma dura lição de que nem todo javascript é o mesmo. por exemplo, você não pode usar Console.log() em um arquivo javascript que é executado via mongo porque console.log não é realmente um javascript principal, mas sim uma função específica para implementações de navegador e nó.