MongoDB es un sistema de gestión de bases de datos NoSQL open source orientado a documentos. A través de la interfaz de línea de comandos mongo
es posible ejecutar todo tipo de consultas y operaciones, como por ejemplo eliminar una base de datos.
Al tratarse de un motor de bases de datos NoSQL, en lugar de guardar los datos en tablas (como se hace en las base de datos relacionales como MySQL, PostgreSQL, etc.), MongoDB guarda las estructuras de datos en documentos en un formato similar a JSON con un esquema dinámico (MongoDB utiliza una especificación llamada BSON), haciendo que la integración de los datos en ciertas aplicaciones sea más fácil y rápida.
Entre las características destacadas de MongoDB, está la posibilidad de ejecutar consultas en lenguaje JavaScript. Esto implica que se ejecuta JavaScript del lado servidor. De igual forma, la shell interactiva mongo
soporta el uso de JavaScript, tanto para ejecutar consultas como para ejecutar operaciones directamente en una base de datos.
Para lanzar la shell, simplemente ejecutar mongo
en el servidor de bases de datos:
root@iot:~# mongo MongoDB shell version: 3.2.11 connecting to: test Welcome to the MongoDB shell. For interactive help, type "help". For more comprehensive documentation, see http://docs.mongodb.org/ Questions? Try the support group http://groups.google.com/group/mongodb-user >
El primer comando a ejecutar en toda shell suele ser "help", el cual muestra generalmente una ayuda sintética de los comandos principales:
> help db.help() help on db methods db.mycoll.help() help on collection methods sh.help() sharding helpers rs.help() replica set helpers help admin administrative help help connect connecting to a db help help keys key shortcuts help misc misc things to know help mr mapreduce show dbs show database names show collections show collections in current database show users show users in current database show profile show most recent system.profile entries with time >= 1ms show logs show the accessible logger names show log [name] prints out the last segment of log in memory, 'global' is default use <db_name> set current database db.foo.find() list objects in collection foo db.foo.find( { a : 1 } ) list objects in foo where a == 1 it result of the last line evaluated; use to further iterate DBQuery.shellBatchSize = x set default number of items to display on shell exit quit the mongo shell >
Para listar todas las bases de datos disponibles, se puede recurrir al comando "show dbs":
> show dbs local 0.000GB thinger 0.000GB >
Ahora, a lo que venimos...
Supongamos que deseamos eliminar la base de datos "thinger" (el equivalente a hacer un "DROP" en un motor de bases de datos SQL). Existen varias formas de hacerlo mediante diferentes sentencias JavaScript, sin embargo la más simple consiste en cambiar a la base en cuestión, y luego ejecutar la función JavaScript dropDatabase()
sobre el objeto "db":
> use thinger switched to db thinger
> db.dropDatabase() { "dropped" : "thinger", "ok" : 1 } >
Se observa que la respuesta a la consulta se vuelca por salida estándar en formato BSON. A simple vista es posible entender que la base ha sido eliminada con éxito, pero para comprobarlo basta con ejecutar nuevamente el comando "show dbs":
> show dbs local 0.000GB >
Para salir de la shell simplemente ejecutar "exit" o utilizar la combinación de teclas Ctrl+D
(EOF) para indicar el fin de la entrada estándar:
> exit bye root@iot:~#
Referencias
- MongoDB
- NoSQL
- BSON
- The mongo Shell - MongoDB Manual
man mongo