MongoDB集合中的文檔管理
上一博客寫了集合的管理,集合里面存放的是文檔,因此聰明的你應(yīng)該能想到這篇是學(xué)習(xí)文檔管理。要說標(biāo)題應(yīng)該是文檔管理,不過對于文檔的管理都是先獲得集合對象,在集合對象上調(diào)用方法管理文檔,所以標(biāo)題還是對集合的管理。
在集合管理中,要管理集合首先要獲得這個(gè)集合,同樣文檔管理也是要先獲得集合對象,然后通過集合對象管理文檔。
一、將文檔添加到集合中
為什么要先說添加呢,因?yàn)椴惶砑泳蜎]法說下面的查找。將文檔添加到一個(gè)集合中,首先需要得到集合對象,通過幾個(gè)對象調(diào)用insert(document)或save(document)方法。document對象是被轉(zhuǎn)換成BSON并存儲(chǔ)在集合中的格式正確的JS對象。下面圖中使用insert、save兩種方式添加文檔。
二、在集合中查找文檔
查找英文單詞有search、find等(學(xué)習(xí)下英語,畢竟我差一分沒過四級,你可能會(huì)問除了這兩個(gè)還有其他的嗎?畢竟用的是等,其實(shí)我想告訴你我的英文詞典中就這兩個(gè),其他的我還真不知道有沒有)。好,閑篇到此結(jié)束。在集合中查找沒想到是用find,還沒超過我的知識(shí)范圍.下圖中可以看到有使用find([query])方法來查找文檔。query指定包含字段和值得查詢文檔與集合中的文檔匹配。
三、從集合中刪除文檔
刪除的話是通過集合對象調(diào)用remove([query])來刪除。不過這里如果不帶query直接使用Remove()來刪除則會(huì)報(bào)錯(cuò),如下圖,如果真想刪除所有的可以使用remove({})傳一個(gè)空js對象。
上面在學(xué)習(xí)集合中查找添加文檔時(shí)添加了兩個(gè)文檔。這里又添加了一個(gè)文檔,方便刪除查看效果。
在上面的圖中可以看到,直接使用remove()時(shí)是報(bào)錯(cuò)的。使用remove({})可以刪除全部文檔。
四、更新集合中的文檔
其實(shí)對于集合的管理在第一篇博客Window環(huán)境下配置Mongodb數(shù)據(jù)庫中也有簡單的提到,這次呢還是簡單的說一下,較復(fù)雜的后面會(huì)請聽下回分解。
要更新集合中的文檔首先應(yīng)得到該集合。然后使用save(object)方法來保存對某一個(gè)對象的更改。也可以使用update(query,update,options)方法來查詢集合中的文檔,然后在它們被找到時(shí)更新它們。 query參數(shù)指定了字段和值與集合這的文檔匹配的一個(gè)查詢文檔。update參數(shù)為一個(gè)對象,它指定在作出更新時(shí)使用的更新運(yùn)算符。如$inc遞增該字段的值。$設(shè)置字段的值,$push將一個(gè)條目推送到數(shù)組等。 option參數(shù)是一個(gè)對象,有兩個(gè)布爾值屬性,multi和upsert。upsert為true時(shí)若沒有找到就創(chuàng)建一個(gè)新的文檔。如果multi為true,與匹配的所有文檔都被更新,否則只有第一個(gè)文檔被更新。
下圖中首先創(chuàng)建了3個(gè)文檔,然后更新age=25的,不過multi=false,所以只更新第一個(gè)文檔,還有一個(gè)age=25的存在。
對于創(chuàng)建文檔也挺有意思,之前都是一個(gè)一個(gè)的創(chuàng)建,剛才試了下批量創(chuàng)建,下面的圖也看到了要使用數(shù)組的形式添加.
以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持本站。
版權(quán)聲明:本站文章來源標(biāo)注為YINGSOO的內(nèi)容版權(quán)均為本站所有,歡迎引用、轉(zhuǎn)載,請保持原文完整并注明來源及原文鏈接。禁止復(fù)制或仿造本網(wǎng)站,禁止在非www.sddonglingsh.com所屬的服務(wù)器上建立鏡像,否則將依法追究法律責(zé)任。本站部分內(nèi)容來源于網(wǎng)友推薦、互聯(lián)網(wǎng)收集整理而來,僅供學(xué)習(xí)參考,不代表本站立場,如有內(nèi)容涉嫌侵權(quán),請聯(lián)系alex-e#qq.com處理。