Introducción y Coincidencia Básica de Arrays
En este primer paso, se conectará al servidor MongoDB, creará una base de datos e insertará algunos datos de ejemplo. Luego, realizará consultas básicas para encontrar documentos coincidiendo con elementos dentro de un array.
Primero, abra la Shell de MongoDB (mongosh) para interactuar con su base de datos. Este comando lo conectará a la instancia de MongoDB en ejecución.
mongosh
Una vez dentro de la shell, verá un prompt test>. Cambiemos a una nueva base de datos llamada arraylab. El comando use crea la base de datos si aún no existe y cambia el contexto actual a ella.
use arraylab
Ahora, insertemos algunos documentos en una nueva colección llamada products. Cada documento representa un producto y contiene dos campos de tipo array: tags y colors. Copie y pegue el siguiente comando en su shell:
db.products.insertMany([
{
name: "Laptop",
tags: ["electronics", "computer", "work"],
colors: ["silver", "black", "blue"]
},
{
name: "Smartphone",
tags: ["electronics", "mobile", "communication"],
colors: ["red", "blue", "green"]
},
{
name: "Headphones",
tags: ["electronics", "audio", "music"],
colors: ["black", "white"]
}
]);
Para encontrar un documento que contenga un elemento específico en un array, puede consultar directamente ese valor. Esta consulta encuentra todos los productos que tienen la etiqueta "mobile".
db.products.find({ tags: "mobile" });
Ejemplo de Salida:
[
{
_id: ObjectId("..."),
name: 'Smartphone',
tags: [ 'electronics', 'mobile', 'communication' ],
colors: [ 'red', 'blue', 'green' ]
}
]
También puede encontrar documentos donde el array coincide con una secuencia exacta de elementos. Esta consulta encuentra el producto cuyo array tags es exactamente ["electronics", "computer", "work"] en ese orden específico.
db.products.find({ tags: ["electronics", "computer", "work"] });
Ejemplo de Salida:
[
{
_id: ObjectId("..."),
name: 'Laptop',
tags: [ 'electronics', 'computer', 'work' ],
colors: [ 'silver', 'black', 'blue' ]
}
]
Puede permanecer en la shell mongosh para los siguientes pasos. Para salir de la shell en cualquier momento, escriba exit y presione Enter.