📜  MongoDB –最大运算符($ max)

📅  最后修改于: 2021-04-17 04:06:40             🧑  作者: Mango

MongoDB提供了不同类型的字段更新运算符来更新文档中字段的值,最大运算符( $max )是其中之一。如果指定值大于当前值,则此运算符将使用指定值更新该字段。

  • 该运算符将根据BSON比较顺序比较不同数据类型的值。
  • 您也可以使用点表示法在嵌入式/嵌套文档中使用此运算符。
  • 您可以根据需要在update(),updateOne()等方法中使用此运算符。
  • 如果给定的字段不存在,则此运算符将创建字段并设置该字段的值。

句法:

{ $max: { field1: value1, field2: value2 ... } }

在以下示例中,我们正在使用:

使用$max运算符比较值(或数字):

在此示例中,我们将工资字段的值(或数字)与指定值(即5000)进行比较。此处,指定值大于当前值。因此, $max运算符借助update()方法将salary字段的值更新为5000。

db.contributor.update({name: "Mohit"}, {$max: {salary: 5000}})

如果salary字段的当前值小于指定的值,那么此运算符将不会使用指定的值(即4000)来更新salary字段的值。

db.contributor.update({name: "Mohit"}, {$max: {salary: 4000}})

使用$ max运算符比较嵌套文档中的值(或数字):

在此示例中,我们将等级字段的值(或数字)与指定值(即30)进行比较。此处,指定值大于当前值。因此,$ max运算符借助update()方法将salary字段的值更新为30。

db.contributor.update({name: "Priya"}, {$max: {"personal.rank": 30}})

如果等级字段的当前值小于指定的值,则此运算符不会使用指定的值(即13)更新等级字段的值。

db.contributor.update({name: "Priya"}, {$max: {"personal.rank": 13}})