Docs Menu
Docs Home
/
MongoDBマニュアル
/ / / /

$inc

項目一覧

  • 定義
  • 互換性
  • 構文
  • 動作
$inc

$inc演算子は、指定された値だけフィールドを増加させます。

次の環境でホストされる配置には $inc を使用できます。

  • MongoDB Atlas はクラウドでの MongoDB 配置のためのフルマネージド サービスです

  • MongoDB Enterprise: サブスクリプションベースの自己管理型 MongoDB バージョン

  • MongoDB Community: ソースが利用可能で、無料で使用できる自己管理型の MongoDB のバージョン

$inc 演算子は次の形式をとります。

{ $inc: { <field1>: <amount1>, <field2>: <amount2>, ... } }

<field> を埋め込みドキュメントまたは配列で指定するには、ドット表記を使用します。

MongoDB 5.0 以降、更新演算子では名前が文字列ベースのドキュメントフィールドを辞書順に処理します。数値名のフィールドは、数値順に処理されます。詳細については、「更新演算子の動作」を参照してください。

$inc 演算子は正の値と負の値を受け入れます。

フィールドが存在しない場合、$inc フィールドを作成し、指定された値にフィールドを設定します。

null 値を持つフィールドで $inc 演算子を使用すると、エラーが発生します。

$inc は、1 つのドキュメント内のアトミック操作です。

MongoDB 5.0 以降、$incなどの更新演算子を空のオペランド式({ })と併用しても、mongod でエラーが発生しなくなりました。空の更新を使用すると変更は一切されず、oplog エントリも作成されません(操作は実行されません)。

products コレクションを次のように作成します。

db.products.insertOne(
{
_id: 1,
sku: "abc123",
quantity: 10,
metrics: { orders: 2, ratings: 3.5 }
}
)

次のupdateOne()操作では、 $inc演算子を使用して次のようにします。

  • "metrics.orders" フィールドを 1 増やします

  • quantity フィールドを -2 増やします(つまり quantity を減らします)

db.products.updateOne(
{ sku: "abc123" },
{ $inc: { quantity: -2, "metrics.orders": 1 } }
)

更新されたドキュメントは次のようになります。

{
_id: 1,
sku: 'abc123',
quantity: 8,
metrics: { orders: 3, ratings: 3.5 }
}

Tip

以下も参照してください。

戻る

$currentDate