MongoDB

1. Ciclo de vida

2. Tipología

3. Ámbito de aplicación

Descripción

MongoDB es un sistema de base de datos NoSQL orientado a documentos. Por ello no ofrecen SQL como lenguaje estándar, sino que proporciona un esquema flexible (schemaless), y tampoco garantizan las propiedades ACID (atomicidad, consistencia, aislamiento y definitividad) al completo para mejorar el rendimiento y aumentar la disponibilidad. MongoDB almacena los datos en BSON (formato binario de JSON), permite la creación de índices sobre el documento o cualquiera de sus partes, así como escrituras atómicas (en el documento). Finalmente, hay que destacar que no permite transacciones.

Esta base de datos garantiza que el sistema contiene una visión consistente de los datos, aunque no esté totalmente disponible en presencia de particiones. No obstante, puede configurarse para que se comporte de distinta forma, promocionando la disponibilidad a costa de la consistencia.

Enlace al recurso

https://www.mongodb.com/

Ejemplos de uso

En el siguiente ejemplo detallaremos cómo se realiza la inserción de un documento dentro de «ventasParticulares» utilizando para ellos BSON (se han numerado las líneas para mejorar su lectura):

1     use ventasParticulares
2
3     db.items.insert({
4           descripcion: "Iphone X",
5           fecha: new Date ("2018, 3, 21"),
6           precio: 1000,
7           tags: ["teléfono móvil", "iphone", "entretenimiento"],
8           vendedor: {
9                 email: "xxxemailxxx@servidor.xxx",
10                psw: "vendedor"
11          },
12          localizacion: {
13                longitude: 37.743671,
14               latitude: -2.552276
15          },
16          estado: "disponible"
17    })

Cada línea da lugar a la definición del grafo de la siguiente manera:

  • En la línea 1 establecemos que la tabla por utilizar será «ventasParticulares».
  • En la línea 3 indicamos que se trata de una operación de inserción.
  • Entre las líneas 4 y 16 se encuentra la definición del elemento que insertar, el cual contiene campos como la descripción, la fecha, el precio y el estado, así como campos compuestos como vendedor y localización. Además, indicamos una lista de elementos (cadenas de texto) en el campo tags.

Enlaces relacionados

https://docs.mongodb.com/manual/tutorial/getting-started/