No tienes acceso a esta clase

¡Continúa aprendiendo! Únete y comienza a potenciar tu carrera

No se trata de lo que quieres comprar, sino de quién quieres ser. Invierte en tu educación con el precio especial

Antes: $249

Currency
$209

Paga en 4 cuotas sin intereses

Paga en 4 cuotas sin intereses
Suscríbete

Termina en:

12 Días
4 Hrs
0 Min
12 Seg

Usando $eq y $ne

18/30
Recursos

Aportes 9

Preguntas 1

Ordenar por:

¿Quieres ver más aportes, preguntas y respuestas de la comunidad?

$eq (equal)
$ne (not equal)

$eq y $eq

use("platzi_store")

// usando equal implicitamente
db.inventory.find({qty: 20})

// usando equal explicitamente
db.inventory.find({qty: {$eq: 20}})

// usando find en objetos anindados
//NOTA: siempre que esté la notación . (punto), la clave debe ir en "" (comnnillas)
db.inventory.find({"item.code": "123"})

// usando no equal, este se usa de forma explícita
db.inventory.find({qty: {$ne: 20}})

Y podemos utilizarlos para actualizar de forma selectiva ciertos documentos

use("platzi_store")

db.inventory.updateMany(
    {qty: {$ne: 20}},
    {
        $inc: {
            qty: 10
        }
    }
)

En VSCode puedes correr el archivo .mongodb utilizando es atajo: “Ctrl + Alt + r”

1. **Operadores de Comparación**: * **$eq**: Coincide con valores que son iguales a un valor especificado. * **$gt**: Coincide con valores que son mayores que un valor especificado. * **$gte**: Coincide con valores que son mayores o iguales a un valor especificado. * **$in**: Coincide con cualquiera de los valores especificados en un arreglo. * **$lt**: Coincide con valores que son menores que un valor especificado. * **$lte**: Coincide con valores que son menores o iguales a un valor especificado. * **$ne**: Coincide con todos los valores que no son iguales a un valor especificado. * **$nin**: Coincide con ninguno de los valores especificados en un arreglo. 2. **Operadores Lógicos**: * **$and**: Combina cláusulas de consulta con un AND lógico y devuelve documentos que cumplen ambas condiciones. * **$not**: Invierte el efecto de una expresión de consulta y devuelve documentos que no cumplen la expresión de consulta. * **$nor**: Combina cláusulas de consulta con un NOR lógico y devuelve documentos que no cumplen ambas condiciones. * **$or**: Combina cláusulas de consulta con un OR lógico y devuelve documentos que cumplen cualquiera de las condiciones. 3. **Operadores de Elementos**: * **$exists**: Coincide con documentos que tienen el campo especificado. * **$type**: Selecciona documentos si un campo es del tipo especificado. 4. **Operadores de Evaluación**: * **$expr**: Permite el uso de expresiones de agregación dentro del lenguaje de consulta. * **$jsonSchema**: Valida documentos frente a un esquema JSON dado. * **$mod**: Realiza una operación de módulo en el valor de un campo y selecciona documentos con un resultado especificado. * **$regex**: Selecciona documentos donde los valores coinciden con una expresión regular especificada. * **$text**: Realiza una búsqueda de texto. * **$where**: Coincide con documentos que satisfacen una expresión JavaScript. 5. **Operadores Geoespaciales**: * **$geoIntersects**: Selecciona geometrías que intersectan con una geometría GeoJSON. * **$geoWithin**: Selecciona geometrías dentro de una geometría GeoJSON delimitante. * **$near**: Devuelve objetos geoespaciales en proximidad a un punto (requiere un índice geoespacial). * **$nearSphere**: Devuelve objetos geoespaciales en proximidad a un punto en una esfera (requiere un índice geoespacial). 6. **Operadores de Arreglos**: * **$all**: Coincide con arreglos que contienen todos los elementos especificados en la consulta. * **$elemMatch**: Selecciona documentos si un elemento en el campo de arreglo cumple con todas las condiciones especificadas.

link al dataset

Son dos operadores de consulta y comparación, $eq (equal - igual), $ne (not equal, distinto de). Se pueden usar tanto en consultas sencillas como en updates u otros métodos que requieran de una consulta para realizar modificaciones. Uso en consultas: // Usando $eq o igualdad. db.inventory.find({ qty: 20 //El operador $eq es un operador que viene de forma implícita.}) //Esto sería lo mismo que lo anteriordb.inventory.find({ qty: { $eq: 20 //Esto sería de forma explícita }}) //Búsqueda por subdocumento db.inventory.find({ "item.name": "ab" //Tener en cuenta que cuando buscamos por subdocumento tenemos que poner el elemento entre comillas dobles}) db.inventory.find({ "item.code": "123"}) //Usando Sne o no igual, este operador siempre se usa de forma explícita. db.inventory.find({ qty: { $ne: 20 }}) //Estos operadores se pueden usar también para actulizaciones, eliminaciones, etc//Ver archivo update.mongodb Uso en actualizaciones: ```sqluse("platzi\_store") db.inventory.updateMany( {qty: {$ne: 20}}, //Realiza la consulta { $inc: { //Incrementa el elemento seleccionado con el valor indicado. qty: 10 } }) ```
//using $ne // esto se utiliza cuando no queremos ningun resultado que incluya el valor que damos.    // es como colocar... if A != 123 > entonces mostrar `db.inventory.find({"item.code":{$ne:"123"}})`

Acá podemos ver los operadores en la documentación oficial de MondoDB https://www.mongodb.com/docs/manual/reference/operator/query-comparison/#comparison-query-operators

El tema de la comilla doble " es importante tenerlo en consideración para evitar el error