欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

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

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

引言

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

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

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

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

創(chuàng)建操作

創(chuàng)建操作,是向集合中添加一個(gè)新的文檔。mongodb的一條記錄稱為一個(gè)文檔。文檔是類似JSON結(jié)構(gòu)的BSON結(jié)構(gòu)的鍵值對(duì)對(duì)象,支持字符串,數(shù)值,布爾類型,時(shí)間,數(shù)組,對(duì)象等類型。多條文檔構(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"
}])

其中集合名稱是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ù)庫。失敗,則沒有數(shù)據(jù)保存到數(shù)據(jù)庫。不會(huì)出現(xiàn)保存了一半這樣的中間狀態(tài)。insertOne向數(shù)據(jù)庫中插入一條文檔記錄,是原子操作。insertMany向數(shù)據(jù)庫插入多條文檔,不是原子操作。

查詢操作

查詢操作,是從數(shù)據(jù)庫的某個(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ù)庫制定集合中符合查詢條件的文檔數(shù)據(jù)。mongodb提供了幾種方法來支持?jǐn)?shù)據(jù)的更新

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

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

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

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

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

刪除操作

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

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

刪除方法的參數(shù)中指定查詢過濾條件,使用該條件查詢出來的結(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ù)庫操作中,修改操作和刪除操作,都是比較危險(xiǎn)的操作。數(shù)據(jù)一旦修改保存到數(shù)據(jù)庫,很難恢復(fù)到修改前的樣子。對(duì)于單條數(shù)據(jù),恢復(fù)起來容易。對(duì)于批量數(shù)據(jù)的修改更新,請(qǐng)使用查詢語句反復(fù)確認(rèn)修改刪除范圍后,再執(zhí)行操作。并準(zhǔn)備好數(shù)據(jù)恢復(fù)腳本。

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

相關(guān)文章

  • 詳解mongodb 主從配置

    詳解mongodb 主從配置

    我研究過的nosql,memcache,redis,mongodb都是支持分布式的,生產(chǎn)環(huán)境中用過memcache,redis,性能穩(wěn)定。mongodb是最接近關(guān)系型數(shù)據(jù)庫的,不用花很多時(shí)間去構(gòu)建數(shù)據(jù)庫模型,將來我會(huì)用mongodb,看一下主從配置
    2014-07-07
  • MongoDB批量將時(shí)間戳轉(zhuǎn)為通用日期格式示例代碼

    MongoDB批量將時(shí)間戳轉(zhuǎn)為通用日期格式示例代碼

    這篇文章主要給大家介紹了關(guān)于MongoDB批量將時(shí)間戳轉(zhuǎn)為通用日期格式的相關(guān)資料,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家學(xué)習(xí)或者使用MongoDB具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2018-07-07
  • Mongodb多鍵索引中索引邊界的混合問題小結(jié)

    Mongodb多鍵索引中索引邊界的混合問題小結(jié)

    Mongodb為提高數(shù)組的查詢效率,針對(duì)數(shù)組構(gòu)建了多鍵索引,而Mongodb在應(yīng)用多鍵數(shù)組查詢時(shí),也通過構(gòu)建,減少數(shù)組查詢的數(shù)值范圍,來提高查詢性能,本文結(jié)合Mongodb官方文檔,闡述Mongodb在使用多鍵索引時(shí)的邊界優(yōu)化,感興趣的朋友一起看看吧
    2024-07-07
  • MongoDB?Server?用戶名和密碼登錄的操作步驟

    MongoDB?Server?用戶名和密碼登錄的操作步驟

    MongoDB Server默認(rèn)不進(jìn)行安全認(rèn)證,即任何MongoDB Client都可以連接并擁有操作權(quán)限,這篇文章主要介紹了MongoDB?Server?用戶名和密碼登錄的步驟,需要的朋友可以參考下
    2024-03-03
  • MongoDB 管道的介紹及操作符實(shí)例

    MongoDB 管道的介紹及操作符實(shí)例

    這篇文章主要介紹了MongoDB 管道的介紹及操作符實(shí)例的相關(guān)資料,MongoDB的聚合管道將MongoDB文檔在一個(gè)管道處理完畢后將結(jié)果傳遞給下一個(gè)管道處理,需要的朋友可以參考下
    2017-07-07
  • 如何對(duì) MongoDB 進(jìn)行性能優(yōu)化(五個(gè)簡單步驟)

    如何對(duì) MongoDB 進(jìn)行性能優(yōu)化(五個(gè)簡單步驟)

    MongoDB一直是最流行的NoSQL,而根據(jù)DB-Engines Ranking最新的排行,時(shí)下MongoDB已經(jīng)擊敗PostgreSQL躍居數(shù)據(jù)庫總排行的第四位,僅次于Oracle、MySQL和Microsoft SQL Server。本文給大家介紹MongoDB性能優(yōu)化的簡單總結(jié)。
    2015-10-10
  • MongoDB快速入門筆記(七)MongoDB的用戶管理操作

    MongoDB快速入門筆記(七)MongoDB的用戶管理操作

    這篇文章主要介紹了MongoDB快速入門筆記(七)MongoDB的用戶管理操作 的相關(guān)資料,需要的朋友可以參考下
    2016-06-06
  • MongoDB數(shù)據(jù)庫性能監(jiān)控詳解

    MongoDB數(shù)據(jù)庫性能監(jiān)控詳解

    MongoDB作為圖片和文檔的存儲(chǔ)數(shù)據(jù)庫,為啥不直接存MySQL里,還要搭個(gè)MongoDB集群,麻不麻煩?這篇文章就帶你介紹MongoDB數(shù)據(jù)庫性能監(jiān)控,感興趣的同學(xué)可以參考閱讀
    2023-03-03
  • 詳解MongoDB的條件查詢和排序

    詳解MongoDB的條件查詢和排序

    MongoDB 提供了豐富的查詢功能,包括條件組合、反向查詢、查詢結(jié)果過濾、排序等,借助 MongoDB 多樣化的查詢方式,可以完成業(yè)務(wù)上的各類查詢需要。
    2021-06-06
  • MongoDB中方法limit和skip的使用

    MongoDB中方法limit和skip的使用

    這篇文章主要給大家介紹了關(guān)于MongoDB中方法limit和skip的使用方法,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家學(xué)習(xí)或者使用MongoDB具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面來一起學(xué)習(xí)學(xué)習(xí)吧
    2019-03-03

最新評(píng)論