MongoDB集合中的文檔管理
上一博客寫了集合的管理,集合里面存放的是文檔,因此聰明的你應該能想到這篇是學習文檔管理。要說標題應該是文檔管理,不過對于文檔的管理都是先獲得集合對象,在集合對象上調(diào)用方法管理文檔,所以標題還是對集合的管理。
在集合管理中,要管理集合首先要獲得這個集合,同樣文檔管理也是要先獲得集合對象,然后通過集合對象管理文檔。
一、將文檔添加到集合中
為什么要先說添加呢,因為不添加就沒法說下面的查找。將文檔添加到一個集合中,首先需要得到集合對象,通過幾個對象調(diào)用insert(document)或save(document)方法。document對象是被轉(zhuǎn)換成BSON并存儲在集合中的格式正確的JS對象。下面圖中使用insert、save兩種方式添加文檔。
二、在集合中查找文檔
查找英文單詞有search、find等(學習下英語,畢竟我差一分沒過四級,你可能會問除了這兩個還有其他的嗎?畢竟用的是等,其實我想告訴你我的英文詞典中就這兩個,其他的我還真不知道有沒有)。好,閑篇到此結束。在集合中查找沒想到是用find,還沒超過我的知識范圍.下圖中可以看到有使用find([query])方法來查找文檔。query指定包含字段和值得查詢文檔與集合中的文檔匹配。
三、從集合中刪除文檔
刪除的話是通過集合對象調(diào)用remove([query])來刪除。不過這里如果不帶query直接使用Remove()來刪除則會報錯,如下圖,如果真想刪除所有的可以使用remove({})傳一個空js對象。
上面在學習集合中查找添加文檔時添加了兩個文檔。這里又添加了一個文檔,方便刪除查看效果。
在上面的圖中可以看到,直接使用remove()時是報錯的。使用remove({})可以刪除全部文檔。
四、更新集合中的文檔
其實對于集合的管理在第一篇博客Window環(huán)境下配置Mongodb數(shù)據(jù)庫中也有簡單的提到,這次呢還是簡單的說一下,較復雜的后面會請聽下回分解。
要更新集合中的文檔首先應得到該集合。然后使用save(object)方法來保存對某一個對象的更改。也可以使用update(query,update,options)方法來查詢集合中的文檔,然后在它們被找到時更新它們。 query參數(shù)指定了字段和值與集合這的文檔匹配的一個查詢文檔。update參數(shù)為一個對象,它指定在作出更新時使用的更新運算符。如$inc遞增該字段的值。$設置字段的值,$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ù)組的形式添加.
以上就是本文的全部內(nèi)容,希望對大家的學習有所幫助,也希望大家多多支持腳本之家。
相關文章
MongoDB通過查詢與游標徹底玩轉(zhuǎn)分布式文件存儲
MongoDB最大的特點是它支持的查詢語言非常強大,其語法有點類似于面向?qū)ο蟮牟樵冋Z言,幾乎可以實現(xiàn)類似關系數(shù)據(jù)庫單表查詢的絕大部分功能,而且還支持對數(shù)據(jù)建立索引,這篇文章主要介紹了MongoDB查詢與游標,徹底玩轉(zhuǎn)分布式文件存儲,需要的朋友可以參考下2023-01-01MongoDB教程之聚合(count、distinct和group)
這篇文章主要介紹了MongoDB教程之聚合,MongoDB除了基本的查詢功能之外,還提供了強大的聚合功能,這里主要介紹count、distinct和group,需要的朋友可以參考下2015-05-05Mongodb常見錯誤與解決方法小結(Mongodb中經(jīng)常出現(xiàn)的錯誤)
這篇文章主要介紹了Mongodb常見錯誤與解決方法小結(Mongodb中經(jīng)常出現(xiàn)的錯誤),需要的朋友可以參考下2017-03-03mongodb監(jiān)控工具mongostat的使用及命令詳解
mongostat是mongodb自帶的狀態(tài)檢測工具,在命令行下使用,會間隔固定時間獲取mongodb的當前運行狀態(tài),并輸出,本文講述了mongodb監(jiān)控工具mongostat的使用及命令詳解2018-03-03