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

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

《MongoDB入门教程》第15篇 文档更新之$inc操作符

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

本文將會介紹如何在 update() 方法中使用 $inc 操作符增加指定字段的值。

$inc 操作符

有時候我們需要增加文檔中某些字段的值, $inc 操作符可以實現(xiàn)這個功能。

$inc 操作符的語法如下:

{ $inc: {<field1>: <amount1>, <field2>: <amount2>, ...} }

其中,amount 可以是正數(shù)或者負(fù)數(shù)。正數(shù)表示增加字段的值,負(fù)數(shù)表示減少字段的值。

如果指定的字段不存在,$inc 操作符將會創(chuàng)建并設(shè)置該字段的值。

$inc 示例

我們將會使用以下集合進(jìn)行演示:

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]}])

示例一:增加指定字段的值

以下示例使用 $inc 操作符將 products 集合中文檔(_id: 1)的 price 字段的值增加 50:

db.products.updateOne({_id: 1 }, {$inc: {price: 50} })

返回結(jié)果如下:

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

再次查詢該文檔,可以看到價格的變化:

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

示例二:減少指定字段的值

下面的示例使用 $inc 操作符將文檔(_id: 1)中的 price 字段的值減少 150:

db.products.updateOne({_id: 1 }, {$inc: {price: -150} })

返回結(jié)果如下:

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

再次查詢該產(chǎn)品的價格:

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

示例三:更新多個字段的值

以下示例使用 $inc 操作符更新了嵌入式文檔 spec 中的 price 字段和 ram 字段的值:

db.products.updateOne({_id: 1 }, {$inc: {price: 50,"spec.ram": 4} })

輸出結(jié)果如下:

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

再次查詢該文檔,驗證更新后的結(jié)果:

db.products.find({_id: 1},{name: 1, price: 1, "spec.ram": 1} )[ { _id: 1, name: 'xPhone', price: 749, spec: { ram: 8 } } ]

總結(jié)

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

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。