$gt(大于)

最后更新:2026-10-09

$gt(大于)

$gt 是查询比较操作符,选择字段值严格大于指定值的文档。`{ age: { $gt: 21 } }` 匹配年龄大于 21 的用户,恰好 21 岁不匹配。常用于范围查询:价格下限、日期筛选、分数门槛。与 $gte 的区别在于是否包含边界值。字符串字段按字典序比较,日期字段按时间先后比较。

分类比较
MongoDB 版本1.0+
示例语言mongosh (Shell)

📝 语法

{ <字段>: { $gt: <值> } }

⚙️ 参数

字段要匹配的文档字段名,可用点路径访问嵌套字段。
值要比较的数值、日期或字符串边界,不含边界本身。

返回值:匹配的文档游标

▶ 示例

请在本地安装的 mongosh 中执行以下命令(需已启动 mongod):

// $gt:查询年龄大于 21 的用户(21 不包含)
db.users.find({ age: { $gt: 21 } })

// 价格下限 + 日期范围
db.products.find({ price: { $gt: 100 } })
db.orders.find({ createdAt: { $gt: new Date('2026-09-01') } })

运行结果:

// 返回所有 age 大于 21 的用户;价格大于 100 的商品;9 月 1 日后的订单

📌 注意事项

📚 相关教程

❓ 常见问题

Q$gt 和 $gte 有什么区别?
A$gt 严格大于不含边界值;$gte 大于等于含边界值。查「超过 21 岁」用 $gt: 21,查「至少 21 岁」用 $gte: 21。
Q$gt 能查字符串或日期吗?
A能。字符串按字典序比较;日期需用 new Date() 包装后按时间比较,直接写字符串日期会退化为字典序比较。
Q价格大于 10 且小于 20 怎么写?
A写在同一字段的复合条件:{ price: { $gt: 10, $lt: 20 } },表达开区间。
Web-Tutorial.com

Web-Tutorial 技术团队

由多位开发者共同维护的编程教程平台。每篇教程由对应领域的开发者编写和审核,确保内容准确可靠。如发现任何问题,欢迎向我们反馈。

100%

🙏 帮我们做得更好

我们是刚上线的编程教程站,几个人的小团队,精力有限。页面虽经检查,难免还有疏漏——链接失效、排版错乱、内容有误、语言生硬……

如果您发现了,麻烦告诉我们,我们会在收到反馈后第一时间进行修复,再次感谢您的光临 🙏