$divide (除算)

最終更新:2026-10-09

$divide (除算)

$divide は 2 つの引数(被除数と除数)で除算を行います。単価、一人当たりの値、比率などの計算によく使われ、たとえば 2 つの $sum 結果を割って比率を求めます。特筆すべき点として、0 で割ってもエラーにならず null を返します(多くのプログラミング言語と異なります)。いずれかの引数が null または欠落でも null になります。$divide は整数、double、Decimal を受け付け、結果は通常 double になります。

カテゴリ数学
MongoDB バージョン1.0+
例の言語mongosh(シェル)

📝 構文

{ $divide: [ <expression1>, <expression2> ] }

⚙️ パラメータ

被除数数値、または数値に解決される式。
除数分母の式。除数が 0 の場合、結果は null になります。

戻り値:2つの数値の商。除数が 0 の場合は null

▶ 例

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

// $divide: 商品ごとの平均価格を計算
db.orders.aggregate([
  { $project: {
      avgPrice: { $divide: ['$total', '$quantity'] }
  } }
])

出力:

{ '_id': 1, 'avgPrice': 25 }
{ '_id': 2, 'avgPrice': 9 }

📌 注意事項

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

📚 関連チュートリアル

❓ よくある質問

Q$divide は 0 で割るとエラーになりますか?
Aいいえ。null を返します。デフォルトが必要なら $ifNull を使います。
Q整数の除算はどの型を返しますか?
A結果は double です。5 を 2 で割ると切り捨てではなく 2.5 になります。
Q2 つの $sum 結果から比率を得るには?
A$group で両方の合計を計算したら、$project でそのまま $divide に渡します。
Web-Tutorial.com

Web-Tutorial 技術チーム

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

100%