El operador in en MongoDB
-
Operador IN (
$in
) en MongoDB -
Use el operador
$in
en MongoDB para hacer coincidir valores -
Actualizar documentos usando el operador
$in
en MongoDB
Este artículo tutorial de MongoDB discutirá el problema de usar el operador $in
en MongoDB.
Operador IN ($in
) en MongoDB
MongoDB viene con muchos operadores que se utilizan para una variedad de tareas. El operador $in
le permite localizar documentos con precisión, y los métodos find()
y update()
se pueden utilizar con este operador.
El operador $in
compara los valores de un campo con el valor proporcionado en la matriz para elegir un documento dentro de una colección. Si el valor del campo de un documento es una matriz, el operador $in
de MongoDB elegirá solo aquellos documentos cuyos campos incluyan una matriz con al menos un elemento que coincida con el valor proporcionado.
Sintaxis:
{ field: { $in: [<value1>, <value2>, ... <valuen> ] }
Use el operador $in
en MongoDB para hacer coincidir valores
Suponga que tiene un sistema de administración de base de datos de una tienda de frutas y tiene una base de datos donde se almacenan todos los datos de sus artículos de frutas, como sus precios, cantidad, peso, etc. A continuación, discutiremos cómo extraer documentos cuyos resultados coincidan en función de un valor dado.
Primero, inicie su servidor MongoDB y pase el siguiente comando para enumerar todas sus bases de datos y usar su base de datos.
Dominio:
show dbs
use data
Hagamos una lista de todos los documentos de la colección que tiene. Luego puede usar el operador $in
en ellos para filtrar en función de valores específicos.
db={
"data": [
{
"_id": ObjectId("6034fd2bf74cfd0438bdb19b"),
"onSale": false,
"name": "Orange",
"price": 500,
"weight": "1 kilograms",
"__v": 0
},
{
"_id": ObjectId("603502ba24df1c2350e676e7"),
"onSale": false,
"name": "Banana",
"price": 350,
"weight": "2 dozen",
"__v": 0
},
{
"_id": ObjectId("603502ba24df1c2350e676e8"),
"onSale": false,
"name": "Apple",
"price": 125,
"weight": "500 grams",
"__v": 0
},
{
"_id": ObjectId("603502ba24df1c2350e676e9"),
"onSale": false,
"name": "Mango",
"price": 300,
"weight": "4 kilograms",
"__v": 0
}
]
}
Actualizar documentos usando el operador $in
en MongoDB
Utilice el método update()
en los documentos para actualizar los valores de algunos documentos.
db={
"data": [
{
"_id": ObjectId("6034fd2bf74cfd0438bdb19b"),
"onSale": false,
"name": "Orange",
"price": 500,
"weight": "1 kilograms",
"__v": 0
},
{
"_id": ObjectId("603502ba24df1c2350e676e7"),
"onSale": false,
"name": "Banana",
"price": 350,
"weight": "2 dozen",
"__v": 0
},
{
"_id": ObjectId("603502ba24df1c2350e676e8"),
"onSale": false,
"name": "Apple",
"price": 125,
"weight": "500 grams",
"__v": 0
},
{
"_id": ObjectId("603502ba24df1c2350e676e9"),
"onSale": false,
"name": "Mango",
"price": 300,
"weight": "4 kilograms",
"__v": 0
}
]
}
Si quieres cambiar el precio
de la fruta "Apple"
. Puedes pasar esta consulta para cambiar el precio
de "Apple"
a "200"
.
Consulta:
db.data.update({
name: {
$in: [
"Apple"
]
}
},
{
$set: {
price: 200
}
})
Después de usar el método find()
, obtendrá el resultado a continuación. El precio de "Apple"
se actualizó de 125
a 200
usando el operador $in
en el método update()
.
Producción:
A través de este artículo tutorial de MongoDB, aprendió qué es el operador $in
, cómo puede utilizar el operador $in
para hacer coincidir valores en colecciones de bases de datos y cómo actualizar o editar la colección dada en la base de datos.