Int32 (32ビット整数)
最終更新:2026-10-09
Int32 (32ビット整数)
Int32 は符号付き32ビット整数で、-2147483648 から 2147483647 の範囲です。mongosh では 42 のような裸の数値は Double になるため、整数は `Int32(42)` で明示的に構築します。年齢、カウンタ、小さいままの ID に使い、32ビットの範囲を超えるなら Long に切り替えます。
| カテゴリ | BSON 型 |
|---|---|
| MongoDB バージョン | 1.0+ |
| 例の言語 | mongosh(シェル) |
📝 構文
Int32(<integer>)
{ 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(42) を使う
- 範囲外の値はエラーになる。Long に切り替える
- $eq は Int32 と Double の混在値に一致しない
🏷️ 関連タグ
💡 関連ケース
📚 関連チュートリアル
❓ よくある質問
QInt32 か Long か、どう選びますか?
A±21億以内は Int32 で十分です。それ以上、または将来の拡張余地には Long(64ビット)を使います。
Qmongosh で 42 は何型ですか?
Aデフォルトでは Double です。整数にするには Int32(42) か Long(42) を使います。
QInt32 はオーバーフローしますか?
Aします。32ビット範囲を超える値を構築するとエラーになります。Long に切り替えてください。