English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية

Introducción a MongoDB

MongoDB es una base de datos orientada a documentos, multiplataforma, que ofrece alto rendimiento, alta disponibilidad y facilidad de escalabilidad. MongoDB se compromete con los conceptos de colección y documento.

¿Qué es MongoDB

MongoDB es un programa de base de datos, MongoDB se escribe en C ++escrito en lenguaje.

  • Gratis (No se requiere pagar nada por su uso en aplicaciones).

  • Open source (Open source) - El código es abierto, y la comunidad de código abierto ha contribuido al desarrollo del programa de base de datos MongoDB.

  • Multiplataforma (Se construye en una plataforma, como Linux, y puede ejecutarse en otras plataformas, como Windows, MacOS, sin modificar el código).

  • Orientado a documentos (Se almacenan registros en formato JSON) - MongoDB tiene muchos beneficios. Un beneficio destacado es que no es necesario realizar esfuerzos significativos para agregar nuevas características (columnas) a la base de datos (en bases de datos relacionales).

  • NoSQL(No solo SQL) - MongoDB utiliza una base de datos basada en documentos, donde cada documento es una clave con valores complejos. Los valores del documento pueden contener múltiples pares clave-valor.

Base de datos

Una base de datos es un contenedor físico para la colección. Cada base de datos tiene su propio conjunto de archivos en el sistema de archivos. Un servidor MongoDB típico puede tener múltiples bases de datos.

Colección

Una colección es un conjunto de documentos de MongoDB. Es equivalente a una tabla en RDBMS. Las colecciones existen dentro de una única base de datos. Las colecciones no imponen un esquema. Los documentos en la colección pueden tener diferentes campos. Por lo general, todos los documentos en una colección tienen propósitos similares o relacionados.

Documento

Un documento es un conjunto de pares clave-valor. Los documentos tienen una estructura dinámica. La estructura dinámica significa que los documentos en la misma colección no necesitan tener los mismos campos o conjunto de estructuras de campos, y los campos comunes en los documentos de la colección pueden almacenar diferentes tipos de datos.

La siguiente tabla muestra la relación entre los términos de RDBMS y MongoDB.

Sistema de gestión de bases de datos relacionalMongoDB
Base de datosBase de datos
TablaColección

Tupla/Fila

Documento
ColumnaCampo
Unión de tablasDocumento嵌入式
Restricción de clave primariaLlave primaria (por defecto proporcionada por MongoDB, denominada _id)
Servidor de base de datos y cliente
mysqld / Oraclemongod
mysql / sqlplusmongo

Ejemplo de documento

Los siguientes ejemplos muestran la estructura de documentos del sitio web de blogs, que es solo una secuencia de pares clave-valor separados por comas.

{
   _id: ObjectId(7df78anuncio8902c)
   título: 'Visión general de MongoDB' 
   descripción: 'MongoDB es una base de datos no sql'
   por: 'Tutoriales básicos'
   url: https://es.oldtoolbag.com
   tags: ['mongodb', 'database', 'NoSQL'],
   likes: 100, 
   comments: [	
      {
         user:'user1',
         message: 'My first comment',
         dateCreated: new Date(2011,1,20,2,15),
         like: 0 
      },
      {
         user:'user2',
         message: 'My second comments',
         dateCreated: new Date(2011,1,25,7,45),
         como: 5
      }
   ]
}

_ides12bytes en hexadecimal, que garantiza la unicidad de cada documento. Puede proporcionar un id al insertar un documento. Si no se proporciona, MongoDB proporcionará un id único para cada documento. Esto12Los primeros4Un byte se utiliza para la marca de tiempo actual, a continuación3Un byte se utiliza para el id de la máquina, a continuación2Un byte se utiliza para el id del proceso del servidor MongoDB, el resto3Un byte es un valor de增量simple.