$toInt (32 ビット整数への変換)

最終更新:2026-10-09

$toInt (32 ビット整数への変換)

$toInt は値を 32 ビット符号付き整数(BSON int)に変換します。数値、数値文字列、ブール値を受け付け、null は null のままです。代表的な用途は、外部システムの整数文字列の正規化や、浮動小数の整数への丸めです。32 ビットの範囲(約 21 億)を超える値はエラーになるため、大きな整数には $toLong を使います。文字列は整数リテラルである必要があり、'4.5' のような小数の文字列はエラーになります。to: int の $convert 短縮形です。

カテゴリ集合・条件・変換
MongoDB バージョン1.0+
例の言語mongosh(シェル)

📝 構文

{ $toInt: <expression> }

⚙️ パラメータ

式数値、数値文字列、またはブール値。

戻り値:int。入力が null の場合は null

▶ 例

以下のコマンドをローカルの mongosh で実行してください(mongod が起動済みである必要があります):

// $toInt: 数量文字列を整数に変換
db.orders.aggregate([
  { $project: {
      qty: { $toInt: '$qtyStr' }
  } }
])

出力:

{ '_id': 1, 'qty': 3 }

📌 注意事項

さらなる実践ケースを近日公開予定。

📚 関連チュートリアル

❓ よくある質問

Q32 ビットの範囲を超えると?
Aエラーになります。$toLong に切り替えてください。
Q文字列 '4.5' は変換できますか?
Aいいえ — 整数リテラルである必要があり、小数の文字列はエラーになります。
Q$toLong との違いは?
A幅が違います。$toInt は 32 ビット、$toLong は 64 ビットです。
Web-Tutorial.com

Web-Tutorial 技術チーム

複数の開発者によって共同維持されているプログラミングチュートリアルプラットフォーム。各チュートリアルは専門分野の開発者が執筆・レビューしています。正確で信頼性の高いコンテンツを目指しています — 問題を見つけた場合はお知らせください。

100%