$inc (加算)

最終更新:2026-10-09

$inc (加算)

$inc は、数値フィールドを指定した量だけ増加(または減少)させます。フィールドが存在しない場合は、増分値を入れて作成します。`{ $inc: { views: 1 } }` は views を 1 増やし、`{ $inc: { stock: -5 } }` は 5 減らします。アトミックに実行されるため、カウンターや閲覧数の管理に最適で、読み取り・更新・書き込みの競合を避けられます。

カテゴリフィールド更新
MongoDB バージョン1.0+
例の言語mongosh(シェル)

📝 構文

{ $inc: { <field>: <amount> } }

▶ 例

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

// $inc: views を +1、stock を -5
db.articles.updateOne(
  { _id: 1 },
  { $inc: { views: 1 } }
)
db.products.updateOne(
  { _id: 2 },
  { $inc: { stock: -5 } }
)

出力:

// フィールドが存在しない場合:views は 1 で作成され、stock は 5 減る

📌 注意事項

📚 関連チュートリアル

❓ よくある質問

Q$inc は文字列に使えますか?
Aいいえ。$inc は数値型のみ受け付け、文字列に使うとエラーになります。文字列連結には $concat(集計)を使うか、読み取ってから書き込む方式にします。
Q$inc が存在しないフィールドを対象にするとどうなりますか?
Aフィールドが存在しない場合、$inc は初期値を 0 とみなし、増分値を入れてフィールドを作成します。フィールドは数値である必要があり、そうでなければエラーになります。
Q$inc で減算はできますか?
Aはい、負の値を渡します。例: { $inc: { score: -5 } } は score を 5 減らします。$inc はアトミックなので、並行アクセス下のカウンターやランキング管理に最適です。
Web-Tutorial.com

Web-Tutorial 技術チーム

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

100%