Dentro de la primera sección que nos describe MongoDB para la certificación, encontraremos preguntas relacionadas a campos, y como deben de usarse. Mientras que algunos pueden ser intuitivos, es obligatorio conocer su uso correcto. Debemos entonces, saber los tipos disponibles, y cuales son obsoletos.
En MongoDB, los campos disponibles deben pertenecer a: Double, String, Object, Array, Binary data (binData), ObjectId, Boolean, Date, Null, Regular Expression, JavaScript, 32-bit integer (int), Timestamp, 64-bit inter (long), Decimal128, min key, max key.
Han quedado obsoletos: Undefined, DBPointer, Symbol, JavaScript code with scope.
Toda la información referente a los campos se encuentra en la información oficial: click aquí
Boolean
Números
ObjectId
Por otro lado, es muy importante que se familiaricen con el concepto BSON. Un BSON es un JSON pero de tipo binario. Al estar guardado en un formato especial, y no en texto, también se pueden aplicar unas normativas, como la del tipado de los campos. También recordar que por defecto, el tamaño máximo es de 16MB.
Carga de datos
En el tutorial "como conseguir mi servidor gratuito de MongoDB en la nube" se explicó como conseguir un entorno en Atlas, y como cargar con valores iniciales por defecto, puedes consultar en esta página.
Acceder a "sample_restaurants"
Desde la herramienta Compass, así como se especifico en el tutorial "Como conectarme desde mi escritorio con Compass y MongoSh.", se debe acceder desde la interfaz gráfica a la base de datos "sample_restaurants". Se extenderá el menú y aparecerán dos colecciones: neighborhoods y restaurants. Clicar sobre restaurants y aparecerán los primeros 20 resultados de la colección
Visualizar propiedades
Cuando ponemos el puntero del ratón sobre un documento, aparecen unos botones en el recuadro del documento. Nos interesa el primer botón, el que tiene un lápiz, al clicarlo, aparecen el formato de los campos. La siguiente imagen muestra el detalle de un documento:
Sobre la imagen previa, queremos comentar:
Que tipo de datos numéricos están disponibles en un BSON de MongoDB
A. Float
B. Number
C. Bigint
D. 32-bit integer
La pregunta está orientada a los campos numéricos. En el caso de los campos con coma, la única opción posible es el Double, por tanto, la opción A queda descartada. Existen diferentes tipos de campo numéricos, pero Number no es uno de ellos, tampoco bigint. Para valores grandes de enteros usamos el 64-bits integer o long, pero no Bigint. Al existir el 64 bits para los enteros grandes, su equivalente que ocupa la mitad de tamaño es el el de 32 bits. Respuesta correcta es D. También recordar que aun pueden ser más grandes con el campo Decimal128
Que tipo de datos están disponibles en un BSON de MongoDB
A. Float
B. BigInteger
C. Char
D. Ninguno de los anteriores
El único tipo en MongoDB que refiere a texto, es el Char. En el caso de numéricos decimales, podemos optar por el Double o el Deciaml128, pero no Float, mientras que en el caso de enteros, este pueden ser de 32 o 64 bits, pero su nombre no tiene que ver con el tamaño, sino con el número de bits de los que disponen.
Cuales de los siguientes tipos son validos para una lista en un BSON de MongoDB?
A. LinkedList
B. ArrayList
C. Array
D. Vector
Aquí se nos invita a confundirnos con conceptos propios de otro lenguaje. Aunque los cuatro tipos son validos en Java, no lo son en MongoDB. La respuesta correcta es C, siempre podéis comprobarlo como se explicó en la sección de la secuencia en esta sección
En esta artículo se han revisado los diferentes tipos de campos y como obtenerlos a través de la herramienta Compass. Las preguntas que podemos encontrar en esta sección suelen ser puntos fáciles, siempre que se conozca muy bien la lista de tipos de campos. Se pueden producir confusiones, al ofrecer tipos que existen en otros lenguajes, por ejemplo Java, pero que no tienen un equivalente con el mismo nombre o función en MongoDB.
La sección sobre conocimientos del modelo de documentos, está reflejada en este artículo y en "Dados tres documentos que tienen forma diferente, identificar cuales pueden coexistir en la misma colección". Puedes clicar directamente en el artículo para acceder a él o aquí para volver a la página principal del curso.