MongoDB: base de datos, colección y documento

Las bases de datos, las colecciones y los documentos son partes importantes de MongoDB, sin ellos no puede almacenar datos en el servidor MongoDB. Una base de datos contiene una colección, y una colección contiene documentos y los documentos contienen datos, están relacionados entre sí. 

Base de datos

En MongoDB, una base de datos contiene las colecciones de documentos. Se pueden crear múltiples bases de datos en el servidor MongoDB.  

Ver base de datos:

Para ver cuántas bases de datos están presentes en su servidor MongoDB, escriba la siguiente declaración en el shell de mongo:  

show dbs

Por ejemplo:  

Aquí, recién comenzamos MongoDB, por lo que no tenemos una base de datos, excepto estas tres bases de datos predeterminadas, es decir, admin, config y local.  

Restricción de nombres para la base de datos:

Antes de crear una base de datos, primero debe conocer las restricciones de nombres para las bases de datos:  

  • En MongoDB, los nombres de la base de datos no distinguen entre mayúsculas y minúsculas, pero siempre debe recordar que los nombres de la base de datos no pueden diferir solo por el caso de los caracteres.
  • Para el usuario de Windows, los nombres de la base de datos de MongoDB no pueden contener ninguno de los siguientes caracteres: 
/\. "$*:|?
  • Para los usuarios de Unix y Linux, los nombres de las bases de datos de MongoDB no pueden contener ninguno de los siguientes caracteres: 
/\. "$
  • Los nombres de las bases de datos MongoDB no pueden contener caracteres nulos (en sistemas Windows, Unix y Linux).
  • Los nombres de las bases de datos de MongoDB no pueden estar vacíos y deben contener menos de 64 caracteres. 

Creación de base de datos:

En el shell de mongo, puede crear una base de datos con la ayuda del siguiente comando:  

use database_name 

Este comando en realidad lo cambia a la nueva base de datos si el nombre dado no existe y si existe el nombre dado, entonces lo cambiará a la base de datos existente. Ahora, en esta etapa, si usa el comando show para ver la lista de bases de datos, encontrará que su nueva base de datos no está presente en esa lista de bases de datos porque, en MongoDB, la base de datos se crea cuando comienza a ingresar datos en esa base de datos. 

Por ejemplo:  

Aquí, creamos una nueva base de datos llamada GeeksforGeeks usando el comando use. Después de crear una base de datos cuando revisamos la lista de bases de datos, no encontramos nuestra base de datos en esa lista porque no ingresamos ningún dato en la base de datos GeeksforGeeks. 

Recopilación

Las colecciones son como tablas en bases de datos relacionales, también almacenan datos, pero en forma de documentos. Una sola base de datos puede almacenar varias colecciones.  

Sin esquema:

Como sabemos, las bases de datos MongoDB no tienen esquema. Por lo tanto, no es necesario en una colección que el esquema de un documento sea similar a otro documento. O, en otras palabras, una sola colección contiene diferentes tipos de documentos, como se muestra en el siguiente ejemplo, donde la colección mystudentData contiene dos tipos diferentes de documentos: 

Restricciones de nombres para la colección:

Antes de crear una colección, primero debe conocer las restricciones de nombres para las colecciones: 

  • El nombre de la colección debe comenzar con un guión bajo o un carácter.
  • El nombre de la colección no contiene $, string vacía, carácter nulo y no comienza con sistema. prefijo.
  • La longitud máxima del nombre de la colección es de 120 bytes (incluido el nombre de la base de datos, el punto separador y el nombre de la colección).

Creando colección:

Después de crear la base de datos ahora creamos una colección para almacenar documentos. La colección se crea usando la siguiente sintaxis: 

db.collection_name.insertOne({..})

Aquí, la función insertOne() se usa para almacenar datos individuales en la colección especificada. Y en las llaves {} almacenamos nuestros datos o en otras palabras, es un documento. 

Por ejemplo:  

En este ejemplo, creamos una colección denominada Autor e insertamos datos en ella con la ayuda de la función insertOne(). O en otras palabras, {name: “Ankita”} es un documento en la colección Author, y en este documento, el nombre es la clave o campo y “Ankita” es el valor de esta clave o campo. Después de presionar enter, recibimos un mensaje (como se muestra en la imagen de arriba) y este mensaje nos dice que los datos ingresaron con éxito (es decir, «reconocimiento»: verdadero) y también nos asigna una identificación creada automáticamente. Es la característica especial proporcionada por MongoDB que cada documento proporcionó una identificación única y, en general, esta identificación se crea automáticamente, pero puede crear su propia identificación (debe ser única).  

Documento

En MongoDB, los registros de datos se almacenan como documentos BSON. Aquí, BSON significa representación binaria de documentos JSON, aunque BSON contiene más tipos de datos en comparación con JSON. El documento se crea utilizando pares de campo-valor o pares clave-valor y el valor del campo puede ser de cualquier tipo BSON. 

Sintaxis:  

{ 
field1: value1
field2: value2
....
fieldN: valueN
}

Restricción de nombres de campos:

Antes de continuar, primero debe conocer las restricciones de nombres para los campos: 

  • Los nombres de campo son de strings.
  • El nombre del campo _id está reservado para usarse como clave principal. Y el valor de este campo debe ser único, inmutable y puede ser de cualquier tipo que no sea una array.
  • El nombre del campo no puede contener caracteres nulos.
  • Los nombres de campo de nivel superior no deben comenzar con un signo de dólar ($).

Tamaño del documento: El tamaño máximo del documento BSON es de 16 MB. Garantiza que el documento individual no use demasiada cantidad de RAM o ancho de banda (durante la transmisión). Si un documento contiene más datos que el tamaño especificado, MongoDB proporciona una API de GridFS para almacenar ese tipo de documentos. 

Notas importantes –  

  • Un solo documento puede contener campos duplicados.
  • MongoDB siempre guarda el orden de los campos en los documentos a excepción del campo _id (que siempre viene en primer lugar) y el cambio de nombre de los campos puede cambiar el orden de los campos en los documentos.
  • Campo _id: en MongoDB, cada almacén de documentos de la colección debe contener un campo _id único; es como una clave principal en una base de datos relacional. El usuario o el sistema pueden establecer el valor del campo _id (si el usuario no crea un campo _id, el sistema generará automáticamente un ObjectId para el campo _id). 
    • Cuando crea una colección, MongoDB crea automáticamente un índice único en el campo _id .
    • El campo _id es el primer campo de cada documento.
    • El valor del campo _id puede ser de cualquier tipo BSON excepto arrays.
    • El valor predeterminado del campo _id es ObjectId.

Ejemplo 1:  

Aquí, el nombre, la rama, el curso y el campo pagado contienen valores de tipo string. El campo de cantidad contiene el valor de tipo entero y el sistema genera el campo _id. 

Ejemplo #2:  

Aquí, el usuario crea el campo _id. 

Sugerencia: cuando pegue datos en las funciones, siempre use paréntesis de cierre después de pegar los datos en la función. Si usa paréntesis de cierre antes de pegar datos en la función, obtendrá un error.
 

Publicación traducida automáticamente

Artículo escrito por ankita_saini y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *