網(wǎng)站首頁 編程語言 正文
上一博客寫了集合的管理,集合里面存放的是文檔,因此聰明的你應(yīng)該能想到這篇是學習文檔管理。要說標題應(yīng)該是文檔管理,不過對于文檔的管理都是先獲得集合對象,在集合對象上調(diào)用方法管理文檔,所以標題還是對集合的管理。
在集合管理中,要管理集合首先要獲得這個集合,同樣文檔管理也是要先獲得集合對象,然后通過集合對象管理文檔。
一、將文檔添加到集合中
為什么要先說添加呢,因為不添加就沒法說下面的查找。將文檔添加到一個集合中,首先需要得到集合對象,通過幾個對象調(diào)用insert(document)或save(document)方法。document對象是被轉(zhuǎn)換成BSON并存儲在集合中的格式正確的JS對象。下面圖中使用insert、save兩種方式添加文檔。
二、在集合中查找文檔
查找英文單詞有search、find等(學習下英語,畢竟我差一分沒過四級,你可能會問除了這兩個還有其他的嗎?畢竟用的是等,其實我想告訴你我的英文詞典中就這兩個,其他的我還真不知道有沒有)。好,閑篇到此結(jié)束。在集合中查找沒想到是用find,還沒超過我的知識范圍.下圖中可以看到有使用find([query])方法來查找文檔。query指定包含字段和值得查詢文檔與集合中的文檔匹配。
三、從集合中刪除文檔
刪除的話是通過集合對象調(diào)用remove([query])來刪除。不過這里如果不帶query直接使用Remove()來刪除則會報錯,如下圖,如果真想刪除所有的可以使用remove({})傳一個空js對象。
上面在學習集合中查找添加文檔時添加了兩個文檔。這里又添加了一個文檔,方便刪除查看效果。
在上面的圖中可以看到,直接使用remove()時是報錯的。使用remove({})可以刪除全部文檔。
四、更新集合中的文檔
其實對于集合的管理在第一篇博客Window環(huán)境下配置Mongodb數(shù)據(jù)庫中也有簡單的提到,這次呢還是簡單的說一下,較復雜的后面會請聽下回分解。
要更新集合中的文檔首先應(yīng)得到該集合。然后使用save(object)方法來保存對某一個對象的更改。也可以使用update(query,update,options)方法來查詢集合中的文檔,然后在它們被找到時更新它們。 query參數(shù)指定了字段和值與集合這的文檔匹配的一個查詢文檔。update參數(shù)為一個對象,它指定在作出更新時使用的更新運算符。如$inc遞增該字段的值。$設(shè)置字段的值,$push將一個條目推送到數(shù)組等。 option參數(shù)是一個對象,有兩個布爾值屬性,multi和upsert。upsert為true時若沒有找到就創(chuàng)建一個新的文檔。如果multi為true,與匹配的所有文檔都被更新,否則只有第一個文檔被更新。
下圖中首先創(chuàng)建了3個文檔,然后更新age=25的,不過multi=false,所以只更新第一個文檔,還有一個age=25的存在。
對于創(chuàng)建文檔也挺有意思,之前都是一個一個的創(chuàng)建,剛才試了下批量創(chuàng)建,下面的圖也看到了要使用數(shù)組的形式添加.
原文鏈接:https://www.cnblogs.com/5ishare/p/5724142.html
相關(guān)推薦
- 2022-04-01 Kubernetes中Nginx配置熱加載的全過程_nginx
- 2022-04-09 Spring Boot 配置CROS Filter
- 2022-10-02 Redis進行相關(guān)優(yōu)化詳解_Redis
- 2023-12-06 Warn: Could not find @TableId
- 2022-11-23 Python?os.listdir與os.walk實現(xiàn)獲取路徑詳解_python
- 2022-09-12 C語言多媒體框架GStreamer使用教程深講_C 語言
- 2023-01-15 PyQt5+QtChart實現(xiàn)繪制極坐標圖_python
- 2022-04-25 python中關(guān)于py文件之間相互import的問題及解決方法_python
- 最近更新
-
- window11 系統(tǒng)安裝 yarn
- 超詳細win安裝深度學習環(huán)境2025年最新版(
- Linux 中運行的top命令 怎么退出?
- MySQL 中decimal 的用法? 存儲小
- get 、set 、toString 方法的使
- @Resource和 @Autowired注解
- Java基礎(chǔ)操作-- 運算符,流程控制 Flo
- 1. Int 和Integer 的區(qū)別,Jav
- spring @retryable不生效的一種
- Spring Security之認證信息的處理
- Spring Security之認證過濾器
- Spring Security概述快速入門
- Spring Security之配置體系
- 【SpringBoot】SpringCache
- Spring Security之基于方法配置權(quán)
- redisson分布式鎖中waittime的設(shè)
- maven:解決release錯誤:Artif
- restTemplate使用總結(jié)
- Spring Security之安全異常處理
- MybatisPlus優(yōu)雅實現(xiàn)加密?
- Spring ioc容器與Bean的生命周期。
- 【探索SpringCloud】服務(wù)發(fā)現(xiàn)-Nac
- Spring Security之基于HttpR
- Redis 底層數(shù)據(jù)結(jié)構(gòu)-簡單動態(tài)字符串(SD
- arthas操作spring被代理目標對象命令
- Spring中的單例模式應(yīng)用詳解
- 聊聊消息隊列,發(fā)送消息的4種方式
- bootspring第三方資源配置管理
- GIT同步修改后的遠程分支