最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

使用mongodb實(shí)現(xiàn)簡(jiǎn)單的讀寫(xiě)操作

 更新時(shí)間:2023年12月08日 09:37:26   作者:威贊  
這篇文章主要給大家介紹了如何使用mongodb實(shí)現(xiàn)簡(jiǎn)單的讀寫(xiě)操作,本文適合初學(xué)者,特別是剛剛安裝了mongodb數(shù)據(jù)庫(kù)的朋友,或在atlas剛拿到免費(fèi)集群的朋友,文中有詳細(xì)的代碼示例供大家參考,需要的朋友可以參考下

引言

本文適合初學(xué)者,特別是剛剛安裝了mongodb數(shù)據(jù)庫(kù)的朋友,或在atlas剛拿到免費(fèi)集群的朋友。

拿到數(shù)據(jù)庫(kù),心情很激動(dòng),手癢難耐。特別想向數(shù)據(jù)庫(kù)插入幾條數(shù)據(jù)庫(kù)試試。即使是深夜完成了安裝,也忍不住想去完成這些操作??吹綌?shù)據(jù)庫(kù)里的記錄,心中會(huì)更有成就感。

這是一個(gè)里程碑的時(shí)刻,代表著mongodb學(xué)習(xí)的開(kāi)始?;蛘咂渌魏我环N數(shù)據(jù)庫(kù)技能學(xué)習(xí)的開(kāi)始。

本文基于官方文檔,整理出mongodb簡(jiǎn)單的增刪改查操作。

創(chuàng)建操作

創(chuàng)建操作,是向集合中添加一個(gè)新的文檔。mongodb的一條記錄稱(chēng)為一個(gè)文檔。文檔是類(lèi)似JSON結(jié)構(gòu)的BSON結(jié)構(gòu)的鍵值對(duì)對(duì)象,支持字符串,數(shù)值,布爾類(lèi)型,時(shí)間,數(shù)組,對(duì)象等類(lèi)型。多條文檔構(gòu)成了mongodb的一個(gè)集合。

當(dāng)插入文檔的集合不存在時(shí),mongodb自動(dòng)創(chuàng)建這個(gè)集合。

Mongodb提供了兩種文檔插入方法

db.collection.insertOne()
db.collection.insertMany()
 
//舉例
db.users.insertOne({
  name:"sue",
  age: 26,
  gentle: "Female"
})
 
db.users.insertMany([{
  name:"sue",
  age: 26,
  gentle: "Female"
},{
  name:"james",
  age: 28,
  gentle: "Male"
}])

其中集合名稱(chēng)是users, 文檔是帶有三個(gè)字段name, age, gentle的對(duì)象。

使用insertOne方法,插入一條文檔,參數(shù)是一個(gè)對(duì)象。而使用insertMany方法,插入多條文檔,參數(shù)是一個(gè)數(shù)組。

Mongodb對(duì)單個(gè)文檔的操作是原子性的,即對(duì)于單個(gè)文檔的操作,只有成功和失敗兩個(gè)結(jié)果。成功, 則數(shù)據(jù)保存到數(shù)據(jù)庫(kù)。失敗,則沒(méi)有數(shù)據(jù)保存到數(shù)據(jù)庫(kù)。不會(huì)出現(xiàn)保存了一半這樣的中間狀態(tài)。insertOne向數(shù)據(jù)庫(kù)中插入一條文檔記錄,是原子操作。insertMany向數(shù)據(jù)庫(kù)插入多條文檔,不是原子操作。

查詢操作

查詢操作,是從數(shù)據(jù)庫(kù)的某個(gè)集合中讀取文檔。

mongodb提供find()方法,實(shí)現(xiàn)從集合中讀取文檔數(shù)據(jù)。

db.collection.find()

在find()方法中,可以帶有參數(shù),作為查詢參數(shù),限定查詢返回值。如對(duì)前面插入的user集合進(jìn)行查詢

//查詢所有數(shù)據(jù)
db.users.find()
//查詢name為sue的數(shù)據(jù)
db.users.find({
  name: "sue"
})
//限制返回?cái)?shù)量
db.users.find().limit(5)

修改操作

修改操作更新數(shù)據(jù)庫(kù)制定集合中符合查詢條件的文檔數(shù)據(jù)。mongodb提供了幾種方法來(lái)支持?jǐn)?shù)據(jù)的更新

//更新一條數(shù)據(jù)
db.collection.updateOne()
//更新多條數(shù)據(jù)
db.collection.updateMany()
//替換一條數(shù)據(jù)
db.collection.replaceOne()

用戶在修改操作的第一個(gè)參數(shù)指定查詢過(guò)濾條件,在第二個(gè)參數(shù)中指定修改字段和目標(biāo)值。如修改集合users中name為james的age字段

db.users.updateOne({name: "james"},{$set: {"age": 30}})

其中過(guò)濾條件{name: "james"}用來(lái)篩選集合中符合name是james的文檔。使用$set設(shè)置更新的字段和字段值。

Mongodb對(duì)單個(gè)文檔的修改是原子性的,因此updateOne(), replaceOne()方法,都是原子操作。updateMany()方法操作單條記錄,也是原子性的,操作多條記錄時(shí),是非原子操作。

刪除操作

刪除操作,是刪除集合中的文檔。mongodb提供了兩種方法來(lái)刪除文檔。

//刪除一條文檔
db.collection.deleteOne()
//刪除多條文檔
db.collection.deleteMany()

刪除方法的參數(shù)中指定查詢過(guò)濾條件,使用該條件查詢出來(lái)的結(jié)果會(huì)被刪除。如刪除users表中男性數(shù)據(jù)。

db.users.deleteMany({gentle: 'Male'})

刪除users表中name是james的數(shù)據(jù)

db.users.deleteOne({name: 'James'})

Mongodb中對(duì)單個(gè)文檔的操作是原子的。所以deleteOne是原子操作, deleteMany不是原子操作。

一點(diǎn)建議

數(shù)據(jù)庫(kù)操作中,修改操作和刪除操作,都是比較危險(xiǎn)的操作。數(shù)據(jù)一旦修改保存到數(shù)據(jù)庫(kù),很難恢復(fù)到修改前的樣子。對(duì)于單條數(shù)據(jù),恢復(fù)起來(lái)容易。對(duì)于批量數(shù)據(jù)的修改更新,請(qǐng)使用查詢語(yǔ)句反復(fù)確認(rèn)修改刪除范圍后,再執(zhí)行操作。并準(zhǔn)備好數(shù)據(jù)恢復(fù)腳本。

以上就是使用mongodb實(shí)現(xiàn)簡(jiǎn)單的讀寫(xiě)操作的詳細(xì)內(nèi)容,更多關(guān)于mongodb讀寫(xiě)操作的資料請(qǐng)關(guān)注腳本之家其它相關(guān)文章!

相關(guān)文章

  • MongoDB性能篇之創(chuàng)建索引,組合索引,唯一索引,刪除索引和explain執(zhí)行計(jì)劃

    MongoDB性能篇之創(chuàng)建索引,組合索引,唯一索引,刪除索引和explain執(zhí)行計(jì)劃

    這篇文章主要介紹了MongoDB性能篇之創(chuàng)建索引,組合索引,唯一索引,刪除索引和explain執(zhí)行計(jì)劃的相關(guān)資料,需要的朋友可以參考下
    2016-02-02
  • MongoDB如何查看版本信息詳解

    MongoDB如何查看版本信息詳解

    這篇文章主要給大家介紹了關(guān)于MongoDB如何查看版本信息的相關(guān)資料,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2020-08-08
  • window下mongodb在dos下服務(wù)器啟動(dòng)及連接

    window下mongodb在dos下服務(wù)器啟動(dòng)及連接

    這篇文章主要介紹了window下mongodb在dos下服務(wù)器啟動(dòng)及連接的相關(guān)資料,需要的朋友可以參考下
    2017-06-06
  • MongoDB查詢性能優(yōu)化驗(yàn)證及驗(yàn)證

    MongoDB查詢性能優(yōu)化驗(yàn)證及驗(yàn)證

    這篇文章主要介紹了MongoDB查詢性能驗(yàn)證及優(yōu)化的相關(guān)知識(shí),涉及到MongoDB 查詢優(yōu)化原則知識(shí)點(diǎn),本文介紹的非常詳細(xì),具有參考借鑒價(jià)值,感興趣的朋友一起學(xué)習(xí)吧
    2016-02-02
  • centos yum 安裝 mongodb 以及php擴(kuò)展

    centos yum 安裝 mongodb 以及php擴(kuò)展

    MongoDB是一個(gè)基于分布式文件存儲(chǔ)的數(shù)據(jù)庫(kù)。由C++語(yǔ)言編寫(xiě)。旨在為WEB應(yīng)用提供可擴(kuò)展的高性能數(shù)據(jù)存儲(chǔ)解決方案。
    2014-07-07
  • Mongoose 在egg中的使用詳解

    Mongoose 在egg中的使用詳解

    這篇文章主要介紹了Mongoose 在egg中的使用,本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2020-06-06
  • mongodb添加arbiter節(jié)點(diǎn)的方法示例

    mongodb添加arbiter節(jié)點(diǎn)的方法示例

    這篇文章主要給大家分享了關(guān)于利用mongodb添加arbiter節(jié)點(diǎn)的方法示例,文中給出了詳細(xì)的示例代碼,相信對(duì)大家具有一定的參考價(jià)值,需要的朋友們下面來(lái)一起看看吧。
    2017-02-02
  • mongodb增量/全量備份腳本的實(shí)現(xiàn)詳解

    mongodb增量/全量備份腳本的實(shí)現(xiàn)詳解

    這篇文章主要給大家介紹了關(guān)于mongodb增量/全量備份腳本的相關(guān)資料,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2018-09-09
  • MongoDB日志切割的三種方式總結(jié)

    MongoDB日志切割的三種方式總結(jié)

    mongo默認(rèn)是沒(méi)有進(jìn)行日志分割的,所有的日志持續(xù)寫(xiě)到一個(gè)文件中,缺點(diǎn)是很明顯的,日志文件會(huì)越來(lái)越大,下面這篇文章主要給大家介紹了關(guān)于MongoDB日志切割的三種方式,需要的朋友可以參考下
    2021-09-09
  • mongodb 實(shí)現(xiàn)遠(yuǎn)程連接

    mongodb 實(shí)現(xiàn)遠(yuǎn)程連接

    這篇文章主要介紹了mongodb 實(shí)現(xiàn)遠(yuǎn)程連接,需要的朋友可以參考下
    2014-07-07

最新評(píng)論

宜春市| 大洼县| 澎湖县| 长治市| 武清区| 上林县| 涟水县| 将乐县| 赤壁市| 英山县| 石台县| 康保县| 拉萨市| 瓮安县| 泾川县| 故城县| 普兰店市| 林西县| 石泉县| 安国市| 海宁市| 互助| 麻栗坡县| 泸水县| 嵊州市| 天祝| 崇明县| 同德县| 铜川市| 木里| 祁阳县| 体育| 和政县| 荣成市| 肇源县| 文昌市| 陆良县| 望江县| 裕民县| 平顺县| 北辰区|