文档菜单
文档首页
/
MongoDB 手册
/ / / /

$gte

本页内容

  • 定义
  • 兼容性
  • 语法
  • 示例
$gte

$gte 选择了指定字段值大于或等于(即 >=)指定值(例如 value)的文档。

对于大多数数据类型,比较运算符 仅在字段类型与查询值类型匹配的情况下执行比较。MongoDB 通过 类型边界 支持有限的跨BSON比较。

您可以使用 $gte 操作符在以下环境中部署

  • MongoDB Atlas:云中MongoDB部署的全托管服务

$gte 操作符具有以下形式

{ field: { $gte: value } }

以下示例使用 inventory 集合。创建集合

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

inventory集合中,选择所有quantity大于或等于20的文档

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

示例输出

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

以下示例根据嵌入式文档中的一个字段的$gte比较设置price字段。

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

示例输出

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

updateMany()操作搜索具有名为fee的子字段的嵌入式文档carrier。当fee的值大于或等于2时,在每个文档中设置{ price: 9.99 }

要仅设置第一个carrier.fee值大于2的文档中的price字段的值,请使用updateMany()

提示

另请参阅

返回

$gt