Docs Menu

Docs HomeDevelop ApplicationsMongoDB Manual

$gte

On this page

  • Definition
  • Compatibility
  • Syntax
  • Examples
$gte

$gte selects the documents where the value of the specified field is greater than or equal to (i.e. >=) a specified value (e.g. value.)

For most data types, comparison operators only perform comparisons on fields where the BSON type matches the query value's type. MongoDB supports limited cross-BSON comparison through Type Bracketing.

You can use $gte for deployments hosted in the following environments:

  • MongoDB Atlas: The fully managed service for MongoDB deployments in the cloud

The $gte operator has the following form:

{ field: { $gte: value } }

The following examples use the inventory collection. Create the collection:

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

Select all documents in the inventory collection where quantity is greater than or equal to 20:

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

Example output:

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

The following example sets the price field based on a $gte comparison against a field in an embedded document.

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

Example output:

{
_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
}

This updateMany() operation searches for an embedded document, carrier, with a subfield named fee. It sets { price: 9.99 } in each document where fee has a value greater than or equal to 2.

To set the value of the price field in only the first document where carrier.fee is greater than 2, use updateMany().

Tip

See also:

←  $gt$in →