MongoDB簡(jiǎn)單的增刪改查

一、MongoDB是什么

MongoDB 是一個(gè)介于關(guān)系數(shù)據(jù)庫和非關(guān)系數(shù)據(jù)庫之間的產(chǎn)品镶苞,是非關(guān)系數(shù)據(jù)庫當(dāng)中功能最豐富蝶柿,最像關(guān)系數(shù)據(jù)庫的。它支持的數(shù)據(jù)結(jié)構(gòu)非常松散驰凛,是類似json的bson格式胸懈,因此可以存儲(chǔ)比較復(fù)雜的數(shù)據(jù)類型。MongoDB最大的特點(diǎn)是他支持的查詢語言非常強(qiáng)大恰响,其語法有點(diǎn)類似于面向?qū)ο蟮牟樵冋Z言趣钱,幾乎可以實(shí)現(xiàn)類似關(guān)系數(shù)據(jù)庫查詢的絕大部分功能,而且還支持對(duì)數(shù)據(jù)建立索引胚宦。


mongoDB

二首有、bson相對(duì)于json的優(yōu)點(diǎn)

bson燕垃,基于json格式,是MongoDB的數(shù)據(jù)存儲(chǔ)格式井联。bson相對(duì)于json有一下幾個(gè)優(yōu)點(diǎn)卜壕。

1.遍歷

對(duì)json格式來說,太大的結(jié)構(gòu)會(huì)導(dǎo)致數(shù)據(jù)遍歷非常慢烙常。在json中轴捎,要跳過一個(gè)文檔進(jìn)行數(shù)據(jù)讀取,需要對(duì)此文檔進(jìn)行掃描军掂。而在bson中轮蜕,可以直接定位到我們所要找的位置昨悼。簡(jiǎn)單的說蝗锥,json的存儲(chǔ)類似于字符串,而bson是按結(jié)構(gòu)存儲(chǔ)的率触。存儲(chǔ)空間bson>json终议,解析速度bson快于json。

2.修改

對(duì)json來說葱蝗,數(shù)據(jù)存儲(chǔ)是無類型的穴张,比如你要修改基本一個(gè)值,從9到10两曼,由于從一個(gè)字符變成了兩個(gè)皂甘,所以可能其后面的所有內(nèi)容都需要往后移一位才可以。而使用bson悼凑,你可以指定這個(gè)列為數(shù)字列偿枕,那么無論數(shù)字從9長(zhǎng)到10還是100,我們都只是在存儲(chǔ)數(shù)字的那一位上進(jìn)行修改户辫,不會(huì)導(dǎo)致數(shù)據(jù)總長(zhǎng)變大渐夸。

三、MongoDB的下載以及圖形界面工具

MongoDB的下載地址:https://www.mongodb.com/download-center?jmp=nav#atlas

關(guān)于MongoDB的下載與配置渔欢,已有許多相關(guān)資料墓塌,這里不再描述。

MongoDB和MySQL一樣奥额,沒有直接的圖形界面苫幢,是在命令行中進(jìn)行操作的。這樣的操作麻煩而且不直觀垫挨,當(dāng)然官方也給出了相應(yīng)的圖形界面工具韩肝,但是這里我們采用第三方的圖形界面工具Robo 3T 。

Robo 3T

Robo 3T的下載地址:https://robomongo.org/

四棒拂、使用Robo 3T進(jìn)行簡(jiǎn)單的增刪改查

1伞梯、創(chuàng)建連接

打開Robo 3T玫氢,點(diǎn)擊左上角的Create可以新建連接。如圖谜诫,我們已經(jīng)建立了名為mongodb的連接漾峡。


創(chuàng)建連接

選擇相應(yīng)的連接,點(diǎn)擊Connect進(jìn)行連接喻旷,進(jìn)入Robo 3T主界面生逸。


主界面

2、創(chuàng)建數(shù)據(jù)庫

右鍵左上角的連接名且预,點(diǎn)擊Create Database槽袄。


連接名

輸入數(shù)據(jù)庫名,Create锋谐。這里遍尺,我們創(chuàng)建名為test1的數(shù)據(jù)庫。


創(chuàng)建數(shù)據(jù)庫

創(chuàng)建完成后涮拗,可以看到test1下有Collections乾戏,F(xiàn)unctions和Users三部分。Collections表示集合三热,F(xiàn)unctions表示函數(shù)鼓择,Users表示用戶。


image.png

右鍵Collections就漾,選擇Create Collection呐能,輸入集合名,即可創(chuàng)建集合抑堡。我們創(chuàng)建一個(gè)名為collection1的集合摆出。


創(chuàng)建集合

3、增

(1)使用圖形化插入

右鍵collection1夷野,點(diǎn)擊Insert Document懊蒸,即可進(jìn)行插入。我們添加如下信息悯搔,點(diǎn)擊Save骑丸。


右鍵test1數(shù)據(jù)庫,點(diǎn)擊Open Shell妒貌,輸入如下命令通危,點(diǎn)擊左上方的綠色三角形運(yùn)行,來查看我們添加的信息灌曙。


添加的信息
(2)使用nosql語句插入

在shell中輸入如下語句菊碟,點(diǎn)擊運(yùn)行。


插入

(這樣是在插入在新的Document中在刺,如果要插入在已有的Document下逆害,采用update头镊,在下面會(huì)講到。)

查看魄幕。


添加的信息

4相艇、刪

(1)使用圖形化刪除

右鍵點(diǎn)擊一條記錄,選擇Edit Document纯陨,彈出和插入時(shí)一樣的窗口坛芽,直接將要?jiǎng)h掉的內(nèi)容刪除,點(diǎn)擊save即可翼抠。


刪除

這樣刪除的是Document下的記錄咙轩。如果要?jiǎng)h除整個(gè)Document,點(diǎn)擊Delete Document阴颖。

(2)使用nosql語句刪除

在shell中輸入如下語句活喊,點(diǎn)擊運(yùn)行。


刪除

(這樣刪除的是整個(gè)Document膘盖,如果要?jiǎng)h除已有的Document下的內(nèi)容胧弛,采用Update尤误,在下面會(huì)講到侠畔。)

如果remove({}),將會(huì)刪除當(dāng)前collection中的所有Document损晤,千萬不要手賤喲软棺。

5、改

(1)使用圖形化修改

右鍵點(diǎn)擊一條記錄尤勋,選擇Edit Document喘落,彈出和插入時(shí)一樣的窗口,直接進(jìn)行修改最冰,點(diǎn)擊save即可瘦棋。

(2)使用nosql語句修改

在shell中輸入如下語句,點(diǎn)擊運(yùn)行暖哨。

upsert=true表示如果不存在則插入赌朋。multi=true表示允許修改多條記錄 。

下面這條語句表示將含有"c":1的Document下的"c":1改為"c":3篇裁。


修改

下面這條語句表示將含有"c":1的Document下的key為"e"的value改為3沛慢。


修改

下面這條語句表示將含有"c":1的Document下的"e":3刪除。


修改

下面這條語句表示刪除所有Document下的"e":3达布。


修改

6团甲、查

(1)使用圖形化查詢

右鍵collection1,點(diǎn)擊View Document黍聂,直接查看collection1下所有的Document躺苦。

(2)使用nosql語句查詢

在shell中輸入如下語句身腻,點(diǎn)擊運(yùn)行。

下面這條語句表示查詢collection1下的所有Document匹厘。


查詢

下面這條語句表示查詢collection1下包含"c":2的所有Document霸株。


查詢

下面這條語句表示查詢collection1下包含"c":2的一個(gè)Document。


查詢

下面這條語句表示查詢collection1下包含"c":2的兩個(gè)Document集乔。


查詢

下面這條語句表示查詢collection1下包含"c":2的所有Document去件,并按age正序排列。


查詢

下面這條語句表示查詢collection1下包含"c":2的所有Document扰路,并按age倒序排列尤溜。


查詢

下面這條語句表示統(tǒng)計(jì)collection1下的Document數(shù)。


查詢

下面這條語句表示找出age>27的Document汗唱。(有多個(gè)key為age時(shí)宫莱,以find時(shí)顯示在最上面的age為準(zhǔn),下同)


查詢

下面這條語句表示找出age≥27的Document哩罪。


查詢

下面這條語句表示找出age<27的Document授霸。


查詢

下面這條語句表示找出age≤27的Document。


查詢
到這里MongoDB的簡(jiǎn)單增刪改查就介紹完啦际插。
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末碘耳,一起剝皮案震驚了整個(gè)濱河市,隨后出現(xiàn)的幾起案子框弛,更是在濱河造成了極大的恐慌辛辨,老刑警劉巖,帶你破解...
    沈念sama閱讀 211,639評(píng)論 6 492
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件瑟枫,死亡現(xiàn)場(chǎng)離奇詭異斗搞,居然都是意外死亡,警方通過查閱死者的電腦和手機(jī)慷妙,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 90,277評(píng)論 3 385
  • 文/潘曉璐 我一進(jìn)店門僻焚,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人膝擂,你說我怎么就攤上這事虑啤。” “怎么了猿挚?”我有些...
    開封第一講書人閱讀 157,221評(píng)論 0 348
  • 文/不壞的土叔 我叫張陵咐旧,是天一觀的道長(zhǎng)。 經(jīng)常有香客問我绩蜻,道長(zhǎng)铣墨,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 56,474評(píng)論 1 283
  • 正文 為了忘掉前任办绝,我火速辦了婚禮伊约,結(jié)果婚禮上姚淆,老公的妹妹穿的比我還像新娘。我一直安慰自己屡律,他們只是感情好腌逢,可當(dāng)我...
    茶點(diǎn)故事閱讀 65,570評(píng)論 6 386
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著超埋,像睡著了一般搏讶。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上霍殴,一...
    開封第一講書人閱讀 49,816評(píng)論 1 290
  • 那天媒惕,我揣著相機(jī)與錄音,去河邊找鬼来庭。 笑死妒蔚,一個(gè)胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的月弛。 我是一名探鬼主播肴盏,決...
    沈念sama閱讀 38,957評(píng)論 3 408
  • 文/蒼蘭香墨 我猛地睜開眼,長(zhǎng)吁一口氣:“原來是場(chǎng)噩夢(mèng)啊……” “哼帽衙!你這毒婦竟也來了菜皂?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 37,718評(píng)論 0 266
  • 序言:老撾萬榮一對(duì)情侶失蹤佛寿,失蹤者是張志新(化名)和其女友劉穎幌墓,沒想到半個(gè)月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體冀泻,經(jīng)...
    沈念sama閱讀 44,176評(píng)論 1 303
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 36,511評(píng)論 2 327
  • 正文 我和宋清朗相戀三年蜡饵,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了弹渔。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點(diǎn)故事閱讀 38,646評(píng)論 1 340
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡溯祸,死狀恐怖肢专,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情焦辅,我是刑警寧澤博杖,帶...
    沈念sama閱讀 34,322評(píng)論 4 330
  • 正文 年R本政府宣布,位于F島的核電站筷登,受9級(jí)特大地震影響剃根,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜前方,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 39,934評(píng)論 3 313
  • 文/蒙蒙 一狈醉、第九天 我趴在偏房一處隱蔽的房頂上張望廉油。 院中可真熱鬧,春花似錦苗傅、人聲如沸抒线。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,755評(píng)論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽嘶炭。三九已至,卻和暖如春逊桦,著一層夾襖步出監(jiān)牢的瞬間旱物,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 31,987評(píng)論 1 266
  • 我被黑心中介騙來泰國打工卫袒, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留宵呛,地道東北人。 一個(gè)月前我還...
    沈念sama閱讀 46,358評(píng)論 2 360
  • 正文 我出身青樓夕凝,卻偏偏與公主長(zhǎng)得像宝穗,于是被迫代替她去往敵國和親。 傳聞我的和親對(duì)象是個(gè)殘疾皇子码秉,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 43,514評(píng)論 2 348

推薦閱讀更多精彩內(nèi)容