MongoDB提供了不同类型的字段更新运算符来更新文档中字段的值,最小运算符( $min
)是其中之一。如果指定值小于当前值,则此运算符将使用指定值更新该字段。
$min
运算符将根据BSON比较顺序比较不同数据类型的值。您也可以使用点表示法在嵌入式/嵌套文档中使用此运算符。可以根据您的要求在update(),updateOne()等方法中使用此运算符。如果给定的字段不存在,则此运算符将创建字段并设置该字段的值。
句法:
{ $min: { field1: value1, field2: value2 ... } }
在以下示例中,我们正在使用:
Database: GeeksforGeeks
Collection: contributor
Document: three documents that contain the details of the contributors in the form of field-value pairs.
使用$min
运算符比较值(或数字):
在此示例中,我们将工资字段的值(或数字)与指定值(即2000)进行比较。此处,指定值小于当前值。所以。 $min
运算符借助update()方法将薪金字段的值更新为2000。
db.contributor.update({name: "Mohit"}, {$min: {salary: 2000}})
如果薪金字段的当前值大于指定的值,那么此运算符将不会使用指定的值(即4000)更新薪金字段的值。
db.contributor.update({name: "Mohit"}, {$min: {salary: 4000}})
使用$max
运算符比较嵌套文档中的值(或数字):
在此示例中,我们将等级字段的值(或数字)与指定值(即13)进行比较。此处,指定值小于当前值。因此, $min
运算符借助于update()方法将薪金字段的值更新为13。
db.contributor.update({name: "Priya"}, {$min: {"personal.rank": 13}})
如果等级字段的当前值大于指定的值,那么此运算符将不会使用指定的值(即30)更新等级字段的值。
db.contributor.update({name: "Priya"}, {$min: {"personal.rank": 30}})