Long(64位整数)

最后更新:2026-10-09

Long(64位整数)

Long是64位有符号整数(BSON类型名int64),范围约±9.2×10^18,mongosh中用`Long(42)`或别名`NumberLong(42)`构造。适合时间戳毫秒、大计数、大ID。超过JavaScript安全整数(约9×10^15)的值要用字符串构造,避免精度丢失。

分类BSON 类型
MongoDB 版本1.0+
示例语言mongosh (Shell)

📝 语法

Long(<整数>)
Long("<大数字符串>")
NumberLong("9223372036854775807")

返回值:返回一个Long(int64)类型的BSON整数

▶ 示例

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

// Long:64位大整数
use shop
db.stats.insertOne({ total: Long('9223372036854775807') })
db.stats.find({ total: { $gt: Long(1000) } })

运行结果:

{ _id: ObjectId('...'), total: Long('9223372036854775807') }

📌 注意事项

📚 相关教程

❓ 常见问题

QLong和NumberLong有区别吗?
A没有区别,NumberLong是Long在mongosh中的别名,构造的是同一种int64类型。
QLong能存多大的数?
A64位有符号,约±9.2×10^18,比JS安全整数大得多。
Q为什么Long要用字符串构造?
A超过约9×10^15的数字字面量在JS中会丢失精度,字符串构造才能保精确。
Web-Tutorial.com

Web-Tutorial 技术团队

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

100%

🙏 帮我们做得更好

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

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