Dentro de la segunda sección de la certificación, la competencia de crear, y la de eliminar, son las que menos peso tienen. Aun así, es importante conocer la normativa para insertar uno o varios documentos, y las posibles trampas que pueden aparecer durante el examen.
A la hora de responder preguntar referentes a la creación, ten en cuenta las siguientes observaciones.
Crea la base de datos y la colección
Desde la herramienta Compass, una vez iniciada la sesión, debes apretar en el botón (+) en la línea que pone Databases. En nuestro caso la llamaremos "certification". Una vez creada, al pasar el botón por encima del nombre de la base de datos, volverá a aparecer un botón (+). Entonces crear una colección que se llame "mycollection".
Crear el primer documento
Desde la consola de MongoSh, debes indicar que estás usando la base de datos "certification", a través del comando "use". Podemos crear entonces un documento bien sencillo:
db.mycollection.insertOne({_id: 1, country: "ESP"})
En la pantalla de documents, podemos visualizra el documento que acabamos de crear.
Crear documento sin _id
Ahora crearemos un segundo documento, pero sin introducir el _id, para probar como Mongo nos notifica del valor que ha dado por defecto. Para ello, emplearemos el siguiente comando
db.mycollection.insertOne({country: "PER"})
La consola nos retorno un documento con el siguiente contenido:
{
acknowledged: true,
insertedId: ObjectId("63ee0b6c62851bdbc024818c")
}
Crear documento con ObjectId
ObjectId("") es la función que permite crear _id, el parametro debe ser un valor en hexadecimal con 24 dígitos.
db.mycollection.insertOne({_id: ObjectId("93ab3929cc0a2bcd12345678"), country: "COL"})
Algunas de las trampas que podemos encontrar en la certificación referente a la creación con ObjectId se produce cuando:
Visualizar el resultado de los documentos creados anteriormente
Creación de múltiples documentos
Ahora vamos a crear tres documentos a la vez. Esto es posible gracias a la función insertMany.
db.mycollection.insertMany([{country : "ALB"}, {country: "AFG"}, {country: "AND"}])
Y que nos va a proporcionar un documento con los ObjectId que se han creado. Como se puede apreciar, estos valor son secuenciales en este caso.
{
acknowledged: true,
insertedIds: {
'0': ObjectId("63ee0f1262851bdbc024818d"),
'1': ObjectId("63ee0f1262851bdbc024818e"),
'2': ObjectId("63ee0f1262851bdbc024818f")
}
}
Dado los dos siguientes documentos en una colección, indica cuales de esta lista podrían coexistir.
A. {_id: 0, txt: "just some text"}
B. {_id: 1, txt: "just some text"}
C. {_id: [4], txt: "just some text"}
D. {_id: 3, txt: "just some text"}
El único campo que nos importa de cara a la coexistencia es el identificador. En el caso de usar un numérico, este debe ser positivo (o 0) y no debe existir previamente. Tampoco son validos las cadenas de valor, como la de la opción C. Por tanto, A y D son las respuestas correctas ya que en B, el identificador 1, ya existe.
La creación de documentos es fundamental más importante de cara al desarrollo profesional que para la certificación. De todas formas, es fundamental que sepamos usar bien para crear colecciones para hacer pruebas. Es importante conocer que la sintaxis es insertOne o insertMany, y que no se permiten otras palabras, como "add", que se emplean para confundir durante el examen. También es importante conocer las normas básicas de ObjectId.
En este artículo hemos cubierto como realizar las acciones y visualizar a través de la consola y Compass. Para saber más sobre las funciones de búsqueda, debes acceder a la sección correspondiente en el curso para certificación de MongoDB.