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

no se puede hacer un script de shell mongo básico con autenticación

Finalmente hice este trabajo. Así es como terminé haciéndolo:

Primero hice un archivo llamado test.js con lo siguiente:

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

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

db = db.getSiblingDB('test');

var cursor = db.cust.find();

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

Luego ejecuté este comando desde la línea de comandos:

mongo test.js

También quiero señalar algunas cosas que aprendí al intentar hacer esto con cualquier otro desarrollador que tenga problemas.

1) si agrega una nueva base de datos y está ejecutando mongo con autenticación, primero debe iniciar sesión en la base de datos de autenticación y luego cambiar a la base de datos deseada (como muestra mi ejemplo) o debe agregar un usuario/contraseña a la base de datos deseada (como probablemente debería haber hecho en primer lugar)

2) Cuando ejecute un archivo javascript a través de mongo, no espere usar las mismas funciones de "javascript" a las que está acostumbrado. Acabo de aprender una dura lección de que no todos los javascript son iguales. por ejemplo, no puede usar Console.log() en un archivo javascript que se ejecuta a través de mongo porque console.log no es en realidad javascript principal, sino una función específica para las implementaciones del navegador y el nodo.