Int32(32位整数)
最后更新:2026-10-09
Int32(32位整数)
Int32是32位有符号整数,范围-2147483648到2147483647。注意:mongosh中裸写的数字(如42)默认是Double,要存整数必须显式构造`Int32(42)`。适合年龄、计数、编号等小整数;超出32位范围用Long。
| 分类 | BSON 类型 |
|---|---|
| MongoDB 版本 | 1.0+ |
| 示例语言 | mongosh (Shell) |
📝 语法
Int32(<整数>)
{ age: Int32(30) }
db.users.find({ age: { $gt: Int32(18) } })
返回值:返回一个Int32类型的BSON整数
▶ 示例
请在本地安装的 mongosh 中执行以下命令(需已启动 mongod):
// Int32:显式构造整数
use shop
db.users.insertOne({ name: 'alice', age: Int32(30) })
db.users.find({ age: { $gt: Int32(18) } })
运行结果:
{ _id: ObjectId('...'), name: 'alice', age: Int32(30) }
📌 注意事项
- mongosh裸写42是Double,要存Int32必须Int32(42)
- 超出±21亿会溢出报错,改用Long
- Int32与Double混存时$eq不匹配
🏷️ 相关标签
💡 相关案例
📚 相关教程
❓ 常见问题
QInt32和Long怎么选?
A数值在±21亿以内用Int32(省存储),超出或预计增长用Long(64位)。
Qmongosh里42是什么类型?
A默认是Double。要存整数用Int32(42)或Long(42)。
QInt32会溢出吗?
A会。构造超出32位范围的数会报错,需改用Long。