推荐答案
$min
操作符用于更新文档中的字段值,确保该字段的值不会小于指定的值。如果字段不存在,$min
会创建该字段并将其值设置为指定的值。如果字段的当前值小于指定的值,$min
不会进行任何操作。
本题详细解读
语法
db.collection.update( <query>, { $min: { <field1>: <value1>, ... } }, <options> )
参数说明
<query>
:用于筛选要更新的文档。$min
:操作符,用于更新字段值。<field1>
:要更新的字段名。<value1>
:指定的最小值。<options>
:可选的更新选项,如upsert
、multi
等。
示例
假设有一个集合 products
,其中包含以下文档:
{ "_id": 1, "price": 100 } { "_id": 2, "price": 200 }
使用 $min
操作符更新 price
字段:
db.products.update( { _id: 1 }, { $min: { price: 150 } } )
执行后,_id
为 1 的文档的 price
字段值将保持不变,因为 100 小于 150。
再执行以下更新:
db.products.update( { _id: 2 }, { $min: { price: 150 } } )
执行后,_id
为 2 的文档的 price
字段值将被更新为 150,因为 200 大于 150。
注意事项
- 如果字段不存在,
$min
会创建该字段并将其值设置为指定的值。 $min
操作符可以用于多个字段的更新。$min
操作符不会影响其他字段的值。