Definición
$gte$gteselecciona 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 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
Para crear la colección inventory utilizada en los ejemplos, ejecute:
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
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 } }
Realice una actualización basada en los campos del documento incrustado
Este ejemplo establece el price campo en función de una comparación en un campo en un documento $gte 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 carrier con un documento incrustado llamado, con un subcampo fee llamado. Establece { price: 9.99 } en cada documento donde fee es mayor o igual 2 que.
Para establecer el price campo solo en el primer documento donde carrier.fee sea mayor 2 que,updateOne() utilice.