En esta segunda publicación acerca de MongoDB veremos como arrancar el motor, crear una base de datos y poblarla con datos.
Anteriormente
Guía 1: Introducción a MongoDB, características clave
Iniciar MongoDB e importar o insertar datos
Arrancar el motor de MongoDB
Una vez la base de datos esta instalada, podríamos configurarla para que arranque automaticamente como un servicio, pero yo prefiero arrancarla manualmente para que no consuma recursos durante el tiempo que no la estoy utilizando.
Para eso, usando el terminal, entramos en la carpeta mongo que se ha creado al instalar mongodb, y ejecutamos el comando:
mongod -dbpath ./db
La aplicación mongod se arrancará y se mantendrá a la escucha en el puerto por defecto, y dará acceso a las bases de datos ubicadas bajo la carpeta db.
Conectar a la base de datos
Para conectar y empezar a utilizar la base de datos, abrimos un nuevo terminal y ejecutamos la shell. Para ello, si durante la instalación hemos incluido mongo en el PATH, basta con ejecutar el comando:
> mongo
Listar las bases de datos
Ahora que hemos ejecutado la shell, podemos empezar a lanzar comandos en ella. Lo primero será listar todas las bases de datos disponibles en nuestro mongo. Prueba a escribir en la shell el siguiente comando:
> show dbs
Si nuestra instalación es nueva, mostrara una lista vacía, pero en otro caso se listará la lista completa de bases de datos disponibles en este entorno.
Crear una base de datos
En MongoDB, lo más habitual será crear las bases de datos dinamicamente a medida que las usemos. Las bases de datos permiten agrupar colecciones, del mismo modo que las colecciones agrupan documentos. Y también del mismo modo, no es necesario preparar o crear una base de datos antes de que pueda ser usada, lo que se traduce en que ésta se creará automaticamente en el momento en que guardemos documentos en ellas, aunque no exista ni base de datos ni colección alguna previamente.
Para comprobar esto, lanzaremos los siguientes comandos:
> use testdb
> db.users.insert({ name:”findemor” })
El primero de ellos determina en qué base de datos vamos a ejecutar los comandos posteriores,
El segundo es el que realiza realmente el trabajo: ejecuta la inserción del documento BSON incluido entre los paréntesis, dentro de la colección users.
Como no existían ni la base de datos testdb, ni la colección users, éstos se crean durante el proceso de inserción del documento.
Podemos comprobarlo listando las bases de datos:
> show dbs
Listando las colecciones
> use testdb
> show collections
Y listando los objetos de la colección
> db.users.find()
Veremos que el objeto se ha insertado y que incluye un atributo adicional “_id”.
Acerca del atributo identificador _id
Todos los documentos deben incluir al menos un identificador único, que debe llamarse _id. Si durante la creación del objeto éste no se especifica, MongoDB lo creará automáticamente.
El valor _id de un documento debe ser único dentro de una colección, y sobre él se establece automáticamente un índice, lo que acelera las búsquedas por él.
Además, siempre que sea único, su valor puede ser cualquiera que deseemos darle (basta con darle un valor específico durante la creación del documento), facilitando la integración con bases de datos existentes en otros sistemas de nuestra aplicación.
Otras formas de población de datos
Para poblar con datos una base de datos, existen numerosas formas:
for (i = 0; i & lt; 10; ++i) {
var doc = {
name: "user-" + i;
}
db.posts.insert(doc);
}
> load(“scripts/myusers.js”;)
Mongoimport –d testdb –c users myusers.json
var MongoClient = require('mongodb').MongoClient;
MongoClient.connect('mongodb://localhost:27017/testdb, function(err, db) {
if (err) throw err;
var query = {
'grade': 100
};
function callback(err, doc) {
if (err) throw err;
console.dir(doc);
db.close();
}
});
Enlaces a la guía completa
- Guía 1: Introducción a MongoDB, características clave
- Guía 2: Arrancar MongoDB e importar datos
- Guía 3: Comandos y operaciones esenciales
- Guía 4: Comandos y operaciones avanzadas
- Guía 5: Esquema de datos dirigido por la aplicación
- Guía 6: Crear, manejar y entender los índices
- Guía 7: Análisis de datos con el framework de agregación
- Guía 8: Replicación y Sharding