$mod (剰余)

最終更新:2026-10-09

$mod (剰余)

$mod は、フィールドの値を除数で割ったときの剰余が指定値になるドキュメントに一致します。`{ qty: { $mod: [4, 0] } }` は 4 で割り切れる数量に一致します。バケット化や周期フィルターに便利です。MongoDB 5.1 以降、除数と剰余はどちらも整数である必要があり、浮動小数点数はエラーになります。

カテゴリ要素と評価
MongoDB バージョン1.0+
例の言語mongosh(シェル)

📝 構文

{ <field>: { $mod: [ <divisor>, <remainder> ] } }

⚙️ パラメータ

フィールドテストする数値フィールド。
除数と剰余の配列整数の [除数, 剰余] の固定ペア。

戻り値:一致するドキュメントのカーソル

▶ 例

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

// $mod: 4 で割り切れる数量
db.products.find({ qty: { $mod: [4, 0] } })

// 剰余 1: 4 個ごとのグループの最初の品目
db.products.find({ qty: { $mod: [4, 1] } })

出力:

// 剰余 0(割り切れる)の数量を返す。2 つ目は剰余 1 の数量を返す

📌 注意事項

📚 関連チュートリアル

❓ よくある質問

Q$mod の 2 つの数値は何を意味しますか?
A[除数, 剰余] です。除算の剰余が 2 番目の数値と等しい値に一致します。
Q$mod は浮動小数点数をサポートしますか?
AMongoDB 5.1 以降はサポートしません。除数と剰余は整数である必要があります。
Q$mod はインデックスを使えますか?
Aいいえ。計算条件のためコレクションをスキャンします。
Web-Tutorial.com

Web-Tutorial 技術チーム

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

100%