日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

《MongoDB入门教程》第16篇 文档更新之$min/$max操作符

發布時間:2024/3/26 编程问答 34 豆豆
生活随笔 收集整理的這篇文章主要介紹了 《MongoDB入门教程》第16篇 文档更新之$min/$max操作符 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

本文將會介紹如何在 update() 方法中使用 $min 和 $max 操作符更新指定字段的值。

$min 操作符

$min 是一個字段更新操作符,如果指定的數值小于(<)字段當前值,將字段的值修改為指定值。

$min 操作符的語法如下:

{ $min: {<field1>: <value1>, ...} }

如果字段當前值大于等于指定的值,不會執行更新操作。

如果指定的字段不存在,$min 操作符將會創建字段并設置字段的值。

$min 示例

下文中的示例將會使用以下集合:

db.products.insertMany([{ "_id" : 1, "name" : "xPhone", "price" : 799, "releaseDate": ISODate("2011-05-14"), "spec" : { "ram" : 4, "screen" : 6.5, "cpu" : 2.66 },"color":["white","black"],"storage":[64,128,256]},{ "_id" : 2, "name" : "xTablet", "price" : 899, "releaseDate": ISODate("2011-09-01") , "spec" : { "ram" : 16, "screen" : 9.5, "cpu" : 3.66 },"color":["white","black","purple"],"storage":[128,256,512]},{ "_id" : 3, "name" : "SmartTablet", "price" : 899, "releaseDate": ISODate("2015-01-14"), "spec" : { "ram" : 12, "screen" : 9.7, "cpu" : 3.66 },"color":["blue"],"storage":[16,64,128]},{ "_id" : 4, "name" : "SmartPad", "price" : 699, "releaseDate": ISODate("2020-05-14"),"spec" : { "ram" : 8, "screen" : 9.7, "cpu" : 1.66 },"color":["white","orange","gold","gray"],"storage":[128,256,1024]},{ "_id" : 5, "name" : "SmartPhone", "price" : 599,"releaseDate": ISODate("2022-09-14"), "spec" : { "ram" : 4, "screen" : 5.7, "cpu" : 1.66 },"color":["white","orange","gold","gray"],"storage":[128,256]}])

以下示例使用 $min 操作符更新文檔(_id: 5)的 price 字段:

db.products.updateOne({_id: 5 }, {$min: {price: 699} })

查詢匹配了一個文檔,但是沒有執行更新操作:

{acknowledged: true,insertedId: null,matchedCount: 1,modifiedCount: 0,upsertedCount: 0 }

原因在于 699 大于字段的當前值(599)。

以下示例使用 $min 操作符將文檔(_id: 5)的 price 字段更新為 499:

db.products.updateOne({_id: 5 }, {$min: {price: 499} })

此時,查詢更新了一個文檔:

{acknowledged: true,insertedId: null,matchedCount: 1,modifiedCount: 1,upsertedCount: 0 }

驗證文檔更新后的內容:

db.products.find({ _id: 5 }, { name: 1, price: 1 })[ { _id: 5, name: 'SmartPhone', price: 499 } ]

$max 操作符

$max 是一個字段更新操作符,如果指定的數值大于(>)字段當前值,將字段的值修改為指定值。

$max 操作符的語法如下:

{ $max: {<field1>: <value1>, ...} }

如果字段當前值小于等于指定的值,不會執行更新操作。

如果指定的字段不存在,$max 操作符將會創建字段并設置字段的值。

$max 示例

以下示例使用 $max 操作符更新文檔(_id: 1)的 price 字段:

db.products.updateOne({_id: 1 }, {$max: {price: 699} })

查詢匹配了一個文檔,但是沒有執行更新操作:

{acknowledged: true,insertedId: null,matchedCount: 1,modifiedCount: 0,upsertedCount: 0 }

原因在于 699 小于字段的當前值(799)。

以下示例使用 $min 操作符將文檔(_id: 1)的 price 字段更新為 899:

db.products.updateOne({_id: 1 }, {$max: {price: 899} })

此時,查詢更新了一個文檔:

{acknowledged: true,insertedId: null,matchedCount: 1,modifiedCount: 1,upsertedCount: 0 }

驗證文檔更新后的內容:

db.products.find({ _id: 1 }, { name: 1, price: 1 })[ { _id: 1, name: 'xPhone', price: 899 } ]

總結

以上是生活随笔為你收集整理的《MongoDB入门教程》第16篇 文档更新之$min/$max操作符的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。