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}})
相關用法
- MongoDB $in用法及代碼示例
- MongoDB $min用法及代碼示例
- MongoDB $inc用法及代碼示例
- MongoDB $mul用法及代碼示例
- MongoDB $rename用法及代碼示例
- MongoDB $setOnInsert用法及代碼示例
注:本文由純淨天空篩選整理自ankita_saini大神的英文原創作品 MongoDB – Maximum operator ( $max )。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。