MongoDB en el operador

MongoDB en el operador
En esta publicación, discutiremos cómo usar el $ en el operador en bases de datos MongoDB. El operador $ en el operador nos permite seleccionar documentos en los que el valor de un campo dado equivale a cualquier valor en una matriz proporcionada.

Sintaxis del operador

La siguiente expresión define la sintaxis utilizada para el $ en el operador:

Field: $ in: [,,…]

El operador compara cada parámetro con todos los documentos de la colección especificada. Es importante tener en cuenta cómo se aplica este operador porque puede conducir a golpes de rendimiento.

MongoDB recomienda limitar el número de parámetros a escanear para evitar problemas de rendimiento significativos.

También puede hacer uso de otras características, como índices, para ayudar a MongoDB al aplicar el operador $ en una gran colección.

Ejemplo práctico

Tomemos una colección con valores del mundo real para ilustrar cómo usar este operador. Considere la colección de muestra que se muestra a continuación:

db.createCollection ("tienda")
db.comercio.insertmany ([
_id: 0, "Product_Name": "Apple MacBook Air", "Cantidad": 100, "Precio": 1199, "Categoría": ["Tech", "Apple"],
_id: 1, "Product_Name": "Google Pixel 6a", "Cantidad": 1000, "Precio": 449, "Categoría": ["Tech", "Google"],
_id: 2, "Product_Name": "Apple iPad Air", "Cantidad": 550, "Precio": 599, "Categoría": ["Tech", "Apple"],
_id: 3, "Product_Name": "Samsung Z Fold 4", "Cantidad": 400, "Precio": 1799, "Categoría": ["Tech", "Samsung"],
_id: 4, "Product_Name": "Sony WH-100XM5", "Cantidad": 800, "Precio": 400, "Categoría": ["Tech", "Sony"],
])

La consulta anterior crea una colección "Tienda" y agregue datos de muestra. Explore ahora cómo podemos usar el operador $ en un documento de este tipo.

Uso del operador $ en el local para localizar documentos coincidentes

El siguiente ejemplo utiliza el operador $ en el operador para encontrar todos los documentos en los que la categoría es "Apple" o "Samsung".

db.comercio.find (categoría: $ in: ["Apple", "Samsung"])

En este caso, la consulta solo debe devolver los documentos con los valores "Apple" o "Samsung" en la matriz de categorías.

Una salida de ejemplo es como se muestra:


"_id": 0.0,
"Product_Name": "Apple MacBook Air",
"Cantidad": 100.0,
"Precio": 1199.0,
"categoría" : [
"Tech",
"manzana"
]


"_id": 2.0,
"Product_Name": "Apple iPad Air",
"Cantidad": 550.0,
"Precio": 599.0,
"categoría" : [
"Tech",
"manzana"
]


"_id": 3.0,
"Product_Name": "Samsung Z Fold 4",
"Cantidad": 400.0,
"Precio": 1799.0,
"categoría" : [
"Tech",
"Samsung"
]

Uso del operador $ en el operador para actualizar documentos que coincidan con una condición específica

También podemos usar el operador $ en el operador para realizar una actualización de la colección usando los métodos updateOne () o UpdateMany ().

Supongamos que la tienda se ha quedado sin dispositivos Apple y deseamos actualizar los documentos en una sola consulta, podemos ejecutar una solicitud como se muestra:

db.comercio.UpdateMany (Categoría: $ en: ["Apple"],
$ set: disponible: falso
)

La consulta anterior actualiza los documentos en los que la categoría es igual a "Apple" y el estado disponible a False.

El documento resultante debe verse como se muestra:


"_id": 0.0,
"Product_Name": "Apple MacBook Air",
"Cantidad": 100.0,
"Precio": 1199.0,
"categoría" : [
"Tech",
"manzana"
],
"Disponible": Falso


"_id": 1.0,
"Product_Name": "Google Pixel 6a",
"Cantidad": 1000.0,
"Precio": 449.0,
"categoría" : [
"Tech",
"Google"
]


"_id": 2.0,
"Product_Name": "Apple iPad Air",
"Cantidad": 550.0,
"Precio": 599.0,
"categoría" : [
"Tech",
"manzana"
],
"Disponible": Falso


"_id": 3.0,
"Product_Name": "Samsung Z Fold 4",
"Cantidad": 400.0,
"Precio": 1799.0,
"categoría" : [
"Tech",
"Samsung"
]


"_id": 4.0,
"Product_Name": "Sony WH-100XM5",
"Cantidad": 800.0,
"Precio": 400.0,
"categoría" : [
"Tech",
"Sony"
]

Podemos ver que cualquier entrada de Apple incluye un campo disponible con el valor establecido en falso.

Conclusión

En esta publicación, exploramos el operador $ en las bases de datos MongoDB. Este operador nos permite seleccionar documentos cuyo valor de campo coincida con un conjunto dado de valores en una matriz.

Gracias por leer!!