MongoDB
 sql >> Base de données >  >> NoSQL >> MongoDB

impossible de créer un script shell mongo de base avec authentification

J'ai finalement réalisé ce travail. Voici comment j'ai fini par le faire :

J'ai d'abord créé un fichier appelé test.js contenant les éléments suivants :

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

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

db = db.getSiblingDB('test');

var cursor = db.cust.find();

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

J'ai ensuite exécuté cette commande depuis la ligne de commande :

mongo test.js

Je tiens également à souligner certaines choses que j'ai apprises en essayant de faire cela à tout autre développeur qui rencontre des problèmes.

1) si vous ajoutez une nouvelle base de données et que vous utilisez mongo avec authentification, vous devez d'abord vous connecter à la base de données d'authentification, puis passer à la base de données souhaitée (comme le montre mon exemple) ou vous devez ajouter un utilisateur/mot de passe au base de données souhaitée (comme j'aurais probablement dû le faire en premier lieu)

2) Lorsque vous exécutez un fichier javascript via mongo, ne vous attendez pas à utiliser les mêmes fonctions "javascript" auxquelles vous êtes habitué. Je viens d'apprendre une dure leçon que tout le javascript n'est pas le même. par exemple, vous ne pouvez pas utiliser Console.log() dans un fichier javascript exécuté via mongo car console.log n'est pas réellement du javascript de base mais plutôt une fonction spécifique aux implémentations de navigateur et de nœud.