2011-01-18 20 views
8

¿Sabes si es posible obtener una lista de bases de datos (como 'show dbs' en la consola) desde javascript. Quiero abandonar todas las bases de datos de mongo a través de JavaScript archivo (mongo admin.js), pero no puedo encontrar una manera de enumerar todas las bases de datos ...MongoDb shell scripting

Thx

Estoy intentando preparar simple script pero no puedo averiguar cómo puedo cambiar db del script. Aquí está el script de muestra de JavaScript. Siempre falla al comando "usar". Intenté con db.eval y eval pero falla.

print(db.getMongo().getDBNames()); 
var environments = db.getMongo().getDBNames() 
for(var environmentIndex in environments){ 
    print(environments[environmentIndex]) 
    eval("use staging"); 
    //db.dropDatabase(); 
} 
+0

Al parecer es mejor la práctica de utilizar un "secuencial" para el lazo en su lugar. Ver http://stackoverflow.com/a/3010848/156060. Aquí hay un poco de JavaScript. Solía ​​soltar todas las bases de datos en mi servidor MongoDB: https://gist.github.com/1754355 –

Respuesta

12

Usar db.adminCommand('listDatabases'). Para otros comandos vea http://www.mongodb.org/display/DOCS/List+of+Database+Commands

EDIT:

En util.jsuse dbname se define como:

shellHelper.use = function(dbname){ 
    db = db.getMongo().getDB(dbname); 
    print("switched to db " + db.getName()); 
} 
+0

sí, gracias. Pero, ¿cómo puedo cambiar a db diferente a través de script? Actualicé la descripción con script de muestra. – user253202

+0

He actualizado la publicación. – pingw33n

Cuestiones relacionadas