AI エージェント向け: ドキュメントインデックスは https://www.mongodb.com/ja-jp/docs/llms.txt で利用できます。すべてのページの markdown バージョンは、いずれかの URL パスに .md を追加することで利用できます。
Docs Menu

$min(更新演算子)

$min

$minは、指定された値がフィールドの現在の値より小さい場合、フィールドの値を指定された値にアップデートします。$min 演算子は、 BSON比較順序 を使用して、異なるタイプの値を比較できます。

{ $min: { <field1>: <value1>, ... } }

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

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

フィールドが存在しない場合、$min 演算子はフィールドを指定された値に設定します。

数値や null などの異なる型の値間の比較では、$min はBSON比較順序を使用します。

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

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

db.scores.insertOne( { _id: 1, highScore: 800, lowScore: 200 } )

lowScoreドキュメントの の値は現在の値200 です。次の操作では、$min 200150lowScore150を使用して、 と指定された値 を比較し、150 が より小さいため、 の値を に更新します。200

db.scores.updateOne( { _id: 1 }, { $min: { lowScore: 150 } } )

scoresコレクションには、次の変更されたドキュメントが含まれています。

{ _id: 1, highScore: 800, lowScore: 150 }

次の操作は、フィールドlowScoreの現在の値、つまり150250より小さいため効果がありません。

db.scores.updateOne( { _id: 1 }, { $min: { lowScore: 250 } } )

scoresコレクションではドキュメントは変更されていません。

{ _id: 1, highScore: 800, lowScore: 150 }

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

db.tags.insertOne(
{
_id: 1,
desc: "crafts",
dateEntered: ISODate("2013-10-01T05:00:00Z"),
dateExpired: ISODate("2013-10-01T16:38:16Z")
}
)

次の操作では、 dateEnteredフィールドの現在の値、つまりISODate("2013-10-01T05:00:00Z")と指定された日付new Date("2013-09-25")とを比較して、フィールドを更新するかどうかを判断します。

db.tags.updateOne(
{ _id: 1 },
{ $min: { dateEntered: new Date("2013-09-25") } }
)

この操作によりdateEnteredフィールドが更新されます。

{
_id: 1,
desc: "crafts",
dateEntered: ISODate("2013-09-25T00:00:00Z"),
dateExpired: ISODate("2013-10-01T16:38:16Z")
}
このページを評価

項目一覧