Make the MongoDB docs better! We value your opinion. Share your feedback for a chance to win $100.
Click here >
Docs Menu
Docs Home
/ /

$gte (operador predicado de query)

$gte

$gte selecciona documentos donde el valor del campo especificado es mayor o igual (>=) al 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 de valor de la consulta. MongoDB admite la comparación limitada entre BSON a través de del encuadre de tipos.

Puedes usar $gte 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 $gte tiene la siguiente forma:

{ field: { $gte: value } }

Para crear la colección inventory utilizada en los ejemplos, ejecuta:

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 }
}
] )

Este ejemplo selecciona documentos en la colección inventory donde quantity es mayor o igual que 20:

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

Ejemplo de salida:

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

Este ejemplo establece el campo price basado en una comparación $gte en un campo de un documento incrustado:

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

Ejemplo de salida:

{
_id: ObjectId("61bb51211b83c864e3bbe037"),
item: 'nuts',
quantity: 30,
carrier: { name: 'Shipit', fee: 3 },
price: 9.99
},
{
_id: ObjectId("61bb51211b83c864e3bbe038"),
item: 'bolts',
quantity: 50,
carrier: { name: 'Shipit', fee: 4 },
price: 9.99
}

La operación updateMany() coincide con un documento incrustado llamado carrier, con un subcampo llamado fee. Establece { price: 9.99 } en cada documento donde fee es mayor o igual que 2.

Para establecer el campo price solo en el primer documento donde carrier.fee sea mayor que 2, usa updateOne().

Volver

$gt

En esta página