Definición
$gte$gteselecciona los documentos donde el valor del campo especificado es mayor o igual a (es decir,>=) un valor especificado (por ejemplo,value.)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.
Compatibilidad
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.
Sintaxis
El operador $gte tiene la siguiente forma:
{ field: { $gte: value } }
Ejemplos
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 } } ] )
Empareje los campos del documento
Seleccione todos los documentos en la colección inventory donde quantity sea 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 } }
Realice una actualización basada en los campos del documento incrustado
El siguiente ejemplo establece el campo price en función de una comparación $gte con un campo en 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 }
Esta operación updateOne() realiza la búsqueda de un documento incrustado, carrier, con un subcampo llamado fee. Establece { price: 9.99 } en cada documento donde fee tiene un valor mayor o igual a 2.
Para establecer el valor del campo price únicamente en el primer documento donde carrier.fee sea mayor que 2, utilice updateOne().