$multiply (乗算)

最終更新:2026-10-09

$multiply (乗算)

$multiply は集計式で複数の数値の積を計算します。引数は 2 要素以上の配列で渡します。$project、$addFields、$set で、明細合計(単価×数量)や通貨換算などの計算によく使われます。いずれかの引数が null または欠落していると式全体が null を返し、文字列や日付はエラーになります。$add と同様に、これはアキュムレータではなく通常の式です。グループ化されたドキュメント横断の累積積は $push と $reduce が必要です。

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

📝 構文

{ $multiply: [ <expression1>, <expression2>, ... ] }

⚙️ パラメータ

因数数値、または数値に解決される式。少なくとも2つ。

戻り値:すべての引数の積

▶ 例

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

// $multiply: 価格と数量から小計を計算
db.orders.aggregate([
  { $project: {
      subtotal: { $multiply: ['$price', '$quantity'] }
  } }
])

出力:

{ '_id': 1, 'subtotal': 250 }
{ '_id': 2, 'subtotal': 72 }

📌 注意事項

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

📚 関連チュートリアル

❓ よくある質問

Q$multiply で文字列や日付を掛けられますか?
Aいいえ。数値以外の型はエラーになります。先に $toDouble や $toInt で変換してください。
Q$multiply と $sum の違いは?
A$sum は行を合計する $group アキュムレータです。$multiply は配列内の値を掛け合わせる式です。
Qドキュメント横断で値を掛け合わせるには?
A$group 内で $push を使って値を集め、$reduce で段階的に掛け合わせます。
Web-Tutorial.com

Web-Tutorial 技術チーム

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

100%