En esta página:
En la Parte anterior de este Post llamada Tipos de Datos en MongoDB – Parte 1, vimos un grupo de 6 tipos de datos que soporta esta popular base de datos no relacional y que también son de los más utilizados, como string, intenger, double, null, booleano y array. Pero aún faltan otros tipos de datos que es importante conocerlos y en esta 2da parte vamos a verlos, vamos con ello.
Partes
Antes de continuar te invito a leer los siguientes artículos:
- Como usar MongoDB (Creación de Tabla Postres) – Parte 1
- Que es MongoDB y otros Detalles
- 5 GUIs para trabajar con MongoDB
- Puedes leer más en la categoría MongoDB
Asimismo te invito a escuchar el Podcast: “¿ Que Hago Si No Tengo Los Recursos Para Dedicarme A La Programación ?”:
Spotify: | Sound Cloud: | Apple Podcasts |
Bien ahora continuemos con el Post: Tipos de Datos en MongoDB – Parte 2.
Las aplicaciones reales suelen manejar diferentes tipos de datos, todo depende del tipo de aplicación y la lógica del proyecto, por esto MongoDB nos trae otros tipos de datos, veámoslos a continuación.
Object (Objeto)
Este tipo de datos almacena documentos incrustados, a los cuales también se les conoce como documentos anidados. Los documentos incrustados o anidados son aquellos tipos de documentos que contienen un documento dentro de otro documento. Veamos un ejemplo a continuación:
1 2 3 4 5 6 7 8 9 10 11 12 13 |
{ "id": "81a8sd8asd8asdasd8as8d8a", "nombre": "Torta de Chocolate", "Ingredientes": { "azucar": "600 grs", "harina": "420 grs", "cacao": "1/2 taza", "huevos": 4, "cucharadasvainilla": 2 } } |
En el ejemplo anterior puedes ver que el objeto se llama Ingredientes y contiene en su interior otros datos o documentos.
Object Id
Cada vez que creamos un nuevo documento en una colección, MongoDB crea de manera automática un id de objeto único para ese documento. Este se crea en el campo _id en MongoDB para cada documento. Los datos que se almacenan en _id son de formato hexadecimal y la longitud del id es de 12 bytes que consisten en: 4 bytes para el valor timestamp, 5 bytes para valores aleatorios (es decir 3 bytes para la identificación de la máquina y 2 bytes para la identificación del proceso) y 3 bytes para contador. También puedes crear tu propio _id, solo debes asegurarte que ese identificador sea único.
Veamos el siguiente ejemplo basado en el ejemplo anterior sobre Object, solo que con un diferente identificador:
1 2 3 4 5 6 7 8 9 10 11 12 13 |
{ "_id": "5s5454545f5j5984werwewrf", // Identificador "nombre": "Torta de Chocolate", "Ingredientes": { "azucar": "600 grs", "harina": "420 grs", "cacao": "1/2 taza", "huevos": 4, "cucharadasvainilla": 2 } } |
El identificador de un documento al ser único nos permitirá gestionar sus valores de manera independiente sin afectar a los demás documentos.
Undefined (Indefinido)
Este tipo de datos, tal como su nombre lo indica, almacena valores indefinidos. Veamos el siguiente ejemplo en donde un campo tiene un valor indefinido:
1 2 3 4 5 6 7 8 |
{ "_id": "331sgf453265fghfgh5fg56s", "nombre": "Gelatina de Naranja", "precio": undefined, // Undefined (Indefinido) "stock": 39 } |
Binary Data (Datos Binarios)
Este tipo de datos se utiliza para almacenar datos de 0 y 1, es decir binarios, veamos un ejemplo a continuación:
1 2 3 4 5 6 7 8 9 |
{ "_id": "5ddf55hj54g55sa454fs49er", "nombre": "Jugo de Naranja", "precio": 2.5, "caducidad": "10100100011" // Dato Binario "stock": 27 } |
Es importante recordar que en el área de la informática los unos y ceros representan muchos valores, es como una manera de guardar datos a bajo nivel o en un formato puro del computador.
Date (Fecha)
Este tipo de datos es también uno de los más usados, pues se considera que la mayoría de datos debe tener una fecha para poder gestionarlos mejor. El tipo de dato fecha es un entero (integer) de 64 bits que representa el número de milisegundos. El tipo de datos BSON generalmente admite la fecha y hora UTC y está firmado. Si el valor de este tipo de datos es negativos, entonces representa fechas anteriores al año 1970.
Existen diferentes métodos para devolver fechas, se puede devolver como un string o como un objeto de fecha usando Date(), new Date() y new ISODate().
1 2 3 4 5 6 7 8 9 |
{ "_id": "7jsh8d657d8e12f5s46g5d4s", "nombre": "Arroz con Leche", "precio": 3.5, "stock": 30, "fecha_creacion": "Wed Aug 25 2021 09:16:11 GMT-0500 (hora estándar de Perú)" // Fecha, usando Date() } |
El tipo de datos Fecha se suele usar para almacenar la fecha de creación , actualización, eliminación y en otro tipo de situaciones en donde se requiera almacenar la Fecha.
Llave Min y Max
Este tipo de dato nos permite comparar valores, por ejemplo con Min podemos comparar el elemento más bajo y con Max podemos comparar el valor más alto, ambos son tipos de datos internos de un documento.
1 2 3 4 5 6 7 8 9 10 |
{ "_id": "7jsh8d657d8e12f5s46g5d4s", "nombre": "Jugo de Fresa", "precio": 2.8, "stock": 25, "valorminimo": { "$minKey : 5" }, // Valor Minimo "valormaximo": { "$maxKey : 5" } // Valor Máximo } |
Conforme lo uses en tus proyectos, le encontraras lo útil que pueden ser cuando necesites encontrar valores mínimo y máximos.
Bien en esta 2da parte te he compartido un segundo grupo de tipos de datos que hay en MongoDb, faltan unos cuantos más para terminar.
Ten Paciencia, lo que quiero es que conozcas bien los tipos de datos que hay en MongoDB y no llenarte el capitulo de mucho contenido porque te puedes marear y no tendrás un óptimo aprendizaje.
Nota (s)
- En la siguiente parte y última veremos el último grupo de tipos de datos que hay en MongoDB.
- No olvides que debemos usar la Tecnología para hacer cosas Buenas por el Mundo.
Síguenos en nuestras Redes Sociales para que no te pierdas nuestros próximos contenidos.