Bases de datos con MongoDB

Bases de datos con MongoDB

MongoDB es un sistema de bases de datos NoSQL, que, a diferencia de los SQL, en lugar de guardar los datos en tablas los guarda en estructuras BSON. Además, MongoDB es un proyecto de código abierto escrito en C++ y usado en muchas empresas como Forbes,  Expedia, MetLife...

Ahora que ya tenemos una ligera idea de que es MongoDB, os voy a explicar como crear una base de datos con ella:

Cómo crear una base de datos noSQL con MongoDB

En MongoDB no existen los comandos de CREATE DATABASE y nada por el estilo, lo que hace es crear una colección en el momento en que un objeto o documento es insertado in la colección (podemos decir que estamos grabando una colección).

Para crear una base de datos en MongoDB necesitas usar una base de datos o una colección que no exista todavía.

use movies

Ahora, vamos a insertar una película en la colección y en el momento será creada:

db.movies.save({title:'Spiderman'});

Acabamos de crear un registro y una base de datos (movies) al mismo tiempo. Como veis, estamos creando colecciones y guardando documentos JSON

Para ver lo que se encuentra dentro de la colección, podemos hacer una consulta:

db.movies.find();

Y recibiremos esto:

> use movies

switched to db movies

> db.movies.save({title:'Spiderman'});

WriteResult({ "nInserted" : 1 })

> db.movies.find();

{ "_id" : ObjectId("581c73028457b4u049bec72c98"), "title" : "Spiderman" }
EXTRA

Podríamos ver todas las bases creadas en nuestra base de datos con el comando:

show dbs;

Aclaración: Tenemos ahora mismo una base de datos llamada movies y dentro de ella hay una colección de documentos que también se llama movies, donde estamos guardando datos; podemos crear las colecciones que queramos.

Hablemos ahora de cómo crear una conexión a MongoDB desde NodeJS

Conexión a MongoDB desde NodeJS. Restful API con Node

Antes que nada, deberíamos de tener instalado MongoDB.

Después de crear una base de datos, conectaremos NodeJS con MongoDB. En la carpeta del proyecto que hemos creado debemos de crear el archivo index.js.

Y deberíamos de añadir el siguiente código:

// Utilizamos las nuevas funciones de Ecmascript 6

'use strict'



// Cargamos el modulo de moongoose para poder conectarnos a MongoDB

var mongoose = require('mongoose');



// Le decimos a Mongoose que haremos la conexión con Promises

mongoose.Promise = global.Promise;



// Nos conectamos con nuestra base de datos

mongoose.connect('mongodb://localhost:27017/my_mongo_database', {useMongoClient: true})

    .then(() => {

        // (Recomendable) Cuándo la conexión este hecha, cargaremos un mensaje de verificación por consola

        console.log('The connection to MongoDB was successful !!');

    })

    // Si no se conecta nos mostrará el error por consola

    .catch(err => console.log(err));

Solamente con esto ya hemos hecho la conexión a MongoDB desde NodeJS de una manera simple usando Mongoose.

Problemas con MongoDB

Si recibes errores y tienes problemas, puedes ver mi entrada del blog donde soluciono errores de MongoDB y Mongoose.

VOLVER AL BLOG