Docs Menu
Docs Home
/ /
Consulta de comparación

$gt (operador de expresión)

$gt

$gt selecciona aquellos documentos donde el valor del campo especificado sea mayor que (es decir, >) el valor especificado.

Para la mayoría de los tipos de datos, Los operadores de comparación solo realizan comparaciones en campos donde el tipo BSON coincide con el tipo del valor de la consulta. MongoDB admite comparaciones cruzadas BSON limitadas mediante el corchete de tipos.

Puedes usar $gt para implementaciones alojadas en los siguientes entornos:

  • MongoDB Atlas: El servicio totalmente gestionado para implementaciones de MongoDB en la nube

  • MongoDB Enterprise: La versión basada en suscripción y autogestionada de MongoDB

  • MongoDB Community: La versión de MongoDB con código fuente disponible, de uso gratuito y autogestionada.

El operador $gt tiene la siguiente forma:

{ field: { $gt: value } }

Los siguientes ejemplos utilizan la colección inventory. Crear la colección:

db.inventory.insertMany( [
{
item: "nuts", quantity: 30,
carrier: { name: "Shipit", fee: 3 }
},
{
item: "bolts", quantity: 50,
carrier: { name: "Shipit", fee: 4 }
},
{
item: "washers", quantity: 10,
carrier: { name: "Shipit", fee: 1 }
}
] )

Seleccione todos los documentos en la colección inventory donde quantity sea mayor que 20:

db.inventory.find( { quantity: { $gt: 20 } } )

Ejemplo de salida:

{
_id: ObjectId("61ba25cbfe687fce2f042414"),
item: 'nuts',
quantity: 30,
carrier: { name: 'Shipit', fee: 3 }
},
{
_id: ObjectId("61ba25cbfe687fce2f042415"),
item: 'bolts',
quantity: 50,
carrier: { name: 'Shipit', fee: 4 }
}

El siguiente ejemplo establece el campo price en función de una comparación $gt con un campo en un documento incrustado.

db.inventory.updateOne(
{ "carrier.fee": { $gt: 2 } }, { $set: { "price": 9.99 } }
)

Ejemplo de salida:

{
_id: ObjectId("61ba3ec9fe687fce2f042417"),
item: 'nuts',
quantity: 30,
carrier: { name: 'Shipit', fee: 3 },
price: 9.99
},
{
_id: ObjectId("61ba3ec9fe687fce2f042418"),
item: 'bolts',
quantity: 50,
carrier: { name: 'Shipit', fee: 4 }
},
{
_id: ObjectId("61ba3ec9fe687fce2f042419"),
item: 'washers',
quantity: 10,
carrier: { name: 'Shipit', fee: 1 }
}

Esta updateOne() operación busca un documento incrustado, carrier, con un subcampo llamado fee. Establece { price: 9.99 } en el primer documento que encuentra donde fee tiene un valor mayor que 2.

Para establecer el valor del campo price en todos los documentos donde carrier.fee sea mayor que 2, utilice updateMany().

Tip

Volver

$eq

En esta página