当前位置: 首页>>代码示例 >>用法及示例精选 >>正文


MongoDB $max用法及代码示例


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

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

用法:

{ $max:{ 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.



比较值(或数字)使用$max操作员:

在本例中,我们将薪水字段的值(或数字)与指定值(即 5000)进行比较。这里,指定值大于当前值。所以,$max运算符借助 update() 方法将工资字段的值更新为 5000。


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

如果薪水字段的当前值小于指定值,则该运算符不会将薪水字段的值更新为指定值,即 4000。


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

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

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


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

如果 rank 字段的当前值小于指定值,则该运算符不会使用指定值更新 rank 字段的值,即 13。


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




相关用法


注:本文由纯净天空筛选整理自ankita_saini大神的英文原创作品 MongoDB – Maximum operator ( $max )。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。