時間:2024-02-04 13:45作者:下載吧人氣:20
上一博客寫了集合的管理,集合里面存放的是文檔,因此聰明的你應該能想到這篇是學習文檔管理。要說標題應該是文檔管理,不過對于文檔的管理都是先獲得集合對象,在集合對象上調用方法管理文檔,所以標題還是對集合的管理。
在集合管理中,要管理集合首先要獲得這個集合,同樣文檔管理也是要先獲得集合對象,然后通過集合對象管理文檔。
為什么要先說添加呢,因為不添加就沒法說下面的查找。將文檔添加到一個集合中,首先需要得到集合對象,通過幾個對象調用insert(document)或save(document)方法。document對象是被轉換成BSON并存儲在集合中的格式正確的JS對象。下面圖中使用insert、save兩種方式添加文檔。
查找英文單詞有search、find等(學習下英語,畢竟我差一分沒過四級,你可能會問除了這兩個還有其他的嗎?畢竟用的是等,其實我想告訴你我的英文詞典中就這兩個,其他的我還真不知道有沒有)。好,閑篇到此結束。在集合中查找沒想到是用find,還沒超過我的知識范圍.下圖中可以看到有使用find([query])方法來查找文檔。query指定包含字段和值得查詢文檔與集合中的文檔匹配。
刪除的話是通過集合對象調用remove([query])來刪除。不過這里如果不帶query直接使用Remove()來刪除則會報錯,如下圖,如果真想刪除所有的可以使用remove({})傳一個空js對象。
上面在學習集合中查找添加文檔時添加了兩個文檔。這里又添加了一個文檔,方便刪除查看效果。
在上面的圖中可以看到,直接使用remove()時是報錯的。使用remove({})可以刪除全部文檔。
其實對于集合的管理在第一篇博客Window環境下配置Mongodb數據庫中也有簡單的提到,這次呢還是簡單的說一下,較復雜的后面會請聽下回分解。
要更新集合中的文檔首先應得到該集合。然后使用save(object)方法來保存對某一個對象的更改。也可以使用update(query,update,options)方法來查詢集合中的文檔,然后在它們被找到時更新它們。 query參數指定了字段和值與集合這的文檔匹配的一個查詢文檔。update參數為一個對象,它指定在作出更新時使用的更新運算符。如$inc遞增該字段的值。$設置字段的值,$push將一個條目推送到數組等。 option參數是一個對象,有兩個布爾值屬性,multi和upsert。upsert為true時若沒有找到就創建一個新的文檔。如果multi為true,與匹配的所有文檔都被更新,否則只有第一個文檔被更新。
下圖中首先創建了3個文檔,然后更新age=25的,不過multi=false,所以只更新第一個文檔,還有一個age=25的存在。
對于創建文檔也挺有意思,之前都是一個一個的創建,剛才試了下批量創建,下面的圖也看到了要使用數組的形式添加.
上一博客寫了集合的管理,集合里面存放的是文檔,因此聰明的你應該能想到這篇是學習文檔管理。要說標題應該是文檔管理,不過對于文檔的管理都是先獲得集合對象,在集合對象上調用方法管理文檔,所以標題還是對集合的管理。
在集合管理中,要管理集合首先要獲得這個集合,同樣文檔管理也是要先獲得集合對象,然后通過集合對象管理文檔。
為什么要先說添加呢,因為不添加就沒法說下面的查找。將文檔添加到一個集合中,首先需要得到集合對象,通過幾個對象調用insert(document)或save(document)方法。document對象是被轉換成BSON并存儲在集合中的格式正確的JS對象。下面圖中使用insert、save兩種方式添加文檔。
查找英文單詞有search、find等(學習下英語,畢竟我差一分沒過四級,你可能會問除了這兩個還有其他的嗎?畢竟用的是等,其實我想告訴你我的英文詞典中就這兩個,其他的我還真不知道有沒有)。好,閑篇到此結束。在集合中查找沒想到是用find,還沒超過我的知識范圍.下圖中可以看到有使用find([query])方法來查找文檔。query指定包含字段和值得查詢文檔與集合中的文檔匹配。
刪除的話是通過集合對象調用remove([query])來刪除。不過這里如果不帶query直接使用Remove()來刪除則會報錯,如下圖,如果真想刪除所有的可以使用remove({})傳一個空js對象。
上面在學習集合中查找添加文檔時添加了兩個文檔。這里又添加了一個文檔,方便刪除查看效果。
在上面的圖中可以看到,直接使用remove()時是報錯的。使用remove({})可以刪除全部文檔。
其實對于集合的管理在第一篇博客Window環境下配置Mongodb數據庫中也有簡單的提到,這次呢還是簡單的說一下,較復雜的后面會請聽下回分解。
要更新集合中的文檔首先應得到該集合。然后使用save(object)方法來保存對某一個對象的更改。也可以使用update(query,update,options)方法來查詢集合中的文檔,然后在它們被找到時更新它們。 query參數指定了字段和值與集合這的文檔匹配的一個查詢文檔。update參數為一個對象,它指定在作出更新時使用的更新運算符。如$inc遞增該字段的值。$設置字段的值,$push將一個條目推送到數組等。 option參數是一個對象,有兩個布爾值屬性,multi和upsert。upsert為true時若沒有找到就創建一個新的文檔。如果multi為true,與匹配的所有文檔都被更新,否則只有第一個文檔被更新。
下圖中首先創建了3個文檔,然后更新age=25的,不過multi=false,所以只更新第一個文檔,還有一個age=25的存在。
對于創建文檔也挺有意思,之前都是一個一個的創建,剛才試了下批量創建,下面的圖也看到了要使用數組的形式添加.
以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持。
網友評論