El operador in en MongoDB

Tahseen Tauseef 15 febrero 2024
  1. Operador IN ($in) en MongoDB
  2. Use el operador $in en MongoDB para hacer coincidir valores
  3. Actualizar documentos usando el operador $in en MongoDB
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
  }
})

Ejecutar consulta

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:

use el operador $in para actualizar el valor en una base de datos

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.

Artículo relacionado - MongoDB Operator