MongoDB
 sql >> Database >  >> NoSQL >> MongoDB

non è possibile creare script mongo shell di base con l'autenticazione

Alla fine ho fatto questo lavoro. Ecco come ho finito per farlo:

Per prima cosa ho creato un file chiamato test.js con quanto segue:

db = connect("localhost:27017/admin");

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

db = db.getSiblingDB('test');

var cursor = db.cust.find();

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

Ho quindi eseguito questo comando dalla riga di comando:

mongo test.js

Voglio anche sottolineare alcune cose che ho imparato provando a farlo a qualsiasi altro sviluppatore che ha problemi.

1) se aggiungi un nuovo database e stai eseguendo mongo con l'autenticazione, devi prima accedere al database di autenticazione e quindi passare al database desiderato (come mostra il mio esempio) oppure devi aggiungere un utente/password al database desiderato (come probabilmente avrei dovuto fare in primo luogo)

2) Quando esegui un file javascript tramite mongo, non aspettarti di utilizzare le stesse funzioni "javascript" a cui sei abituato. Ho appena imparato una dura lezione che non tutti i javascript sono uguali. ad esempio, non è possibile utilizzare Console.log() in un file javascript eseguito tramite mongo perché console.log non è in realtà javascript principale ma piuttosto una funzione specifica per le implementazioni di browser e nodi.