標籤:
上一部落格寫了集合的管理,集合裡面存放的是文檔,因此聰明的你應該能想到這篇是學習文件管理。要說標題應該是文件管理,不過對於文檔的管理都是先獲得集合對象,在集合對象上調用方法管理文檔,所以標題還是對集合的管理。
在集合管理中,要管理集合首先要獲得這個集合,同樣文件管理也是要先獲得集合對象,然後通過集合對象管理文檔。
一、將文檔添加到集合中
為什麼要先說添加呢,因為不添加就沒法說下面的尋找。將文檔添加到一個集合中,首先需要得到集合對象,通過幾個對象調用insert(document)或save(document)方法。document對象是被轉換成BSON並儲存在集合中的格式正確的JS對象。下面圖中使用insert、save兩種方式添加文檔。
二、在集合中尋找文檔
尋找英文單詞有search、find等(學習下英語,畢竟我差一分沒過四級,你可能會問除了這兩個還有其他的嗎?畢竟用的是等,其實我想告訴你我的英文詞典中就這兩個,其他的我還真不知道有沒有)。好,閑篇到此結束。在集合中尋找沒想到是用find,還沒超過我的知識範圍.中可以看到有使用find([query])方法來尋找文檔。query指定包含欄位和值得查詢文檔與集合中的文檔匹配。
三、從集合中刪除文檔
刪除的話是通過集合對象調用remove([query])來刪除。不過這裡如果不帶query直接使用Remove()來刪除則會報錯,如,如果真想刪除所有的可以使用remove({})傳一個空js對象。
上面在學習集合中尋找添加文檔時添加了兩個文檔。這裡又添加了一個文檔,方便刪除查看效果。
在上面的圖中可以看到,直接使用remove()時是報錯的。使用remove({})可以刪除全部文檔。
四、更新集合中的文檔
其實對於集合的管理在第一篇部落格http://www.cnblogs.com/5ishare/p/5628126.html中也有簡單的提到,這次呢還是簡單的說一下,較複雜的後面會請聽下回分解。
要更新集合中的文檔首先應得到該集合。然後使用save(object)方法來儲存對某一個對象的更改。也可以使用update(query,update,options)方法來查詢集合中的文檔,然後在它們被找到時更新它們。 query參數指定了欄位和值與集合這的文檔匹配的一個查詢文檔。update參數為一個對象,它指定在作出更新時使用的更新運算子。如$inc遞增該欄位的值。$設定欄位的值,$push將一個條目推送到數組等。 option參數是一個對象,有兩個布爾值屬性,multi和upsert。upsert為true時若沒有找到就建立一個新的文檔。如果multi為true,與匹配的所有文檔都被更新,否則只有第一個文檔被更新。
中首先建立了3個文檔,然後更新age=25的,不過multi=false,所以只更新第一個文檔,還有一個age=25的存在。
對於建立文檔也挺有意思,之前都是一個一個的建立,剛才試了下大量建立,下面的圖也看到了要使用數組的形式添加.
MongoDB之集合管理二