mongodb 输出数组字段_三分钟 mongodb 开发快速上手
三分鐘 mongodb 開發(fā)快速上手
小熊昨天晚上做了一個(gè)非常真實(shí)的噩夢(mèng),有讀者朋友催我”怎么又沒有發(fā)文!讓我們等的好辛苦“,今天一睜開眼眼看后臺(tái)留言,特么,居然是真的!
我bilibili直播申請(qǐng)都通過了!但是別想讓我吃粑粑!
這兩天我雖然沒有更新文章,主要因?yàn)樾⌒茏罱墓ぷ髅芏缺容^大,有時(shí)候?yàn)榱四軌蛲祽谢ㄒ恍r(shí)間主動(dòng)寫一些腳本或者代碼,減少很多人力的操作,這種事情沒有人要求小熊,但是我還是會(huì)主動(dòng)去,長痛不如短痛就是這個(gè)道理。
工作之余我可沒有閑著,今天要和大家分享的是來自一位讀者的要求,他們小組馬上要用mongodb了,但是以前從來沒有接觸過,小熊就滿足你的需求。
有道是,無巧不成書,我們也用到了mongdb,不過對(duì)于小熊個(gè)人來說,對(duì)mongodb的接觸僅限于維護(hù)的時(shí)候看看表結(jié)構(gòu),更新幾行記錄什么的,正好逮到這個(gè)契機(jī)下決心好好總結(jié)一下。
這是一篇科普文。
為什么用(有在哪,有什么好處) ?
我們用 mongodb 比較感興趣的是為什么要用他?他有什么好處?什么時(shí)候該用?具體怎么用?
mongo 相對(duì)于傳動(dòng)的關(guān)系型數(shù)據(jù)庫,例如MySQL來說,他對(duì)每一次插入的字段格式?jīng)]有要求,字段可以隨意變動(dòng)。
像這張圖,各種類型的字段都存在里面。看上去和Mysql長的很像,但是他是去sql的一種數(shù)據(jù)庫。就是我們常說的nosql
MongoDB 的優(yōu)點(diǎn)/缺點(diǎn)
MongoDB 的優(yōu)勢(shì)主要有 3 個(gè)。
- 結(jié)構(gòu)靈活,表結(jié)構(gòu)更改比較自由,不用因?yàn)樵鰷p字段每次 alter 的時(shí)候付出代價(jià),適合業(yè)務(wù)快速迭代,而且 json 原生和大多數(shù)的語言有天然的契合。還支持?jǐn)?shù)組,嵌套文檔等數(shù)據(jù)類型
- 自帶高可用,自動(dòng)主從切換(副本集)
- 自帶水平分片(分片),內(nèi)置了路由,配置管理。應(yīng)用只要連接路由,對(duì)應(yīng)用來說是透明的。
也具備所有NoSQL的其他優(yōu)點(diǎn)。
- 他可以并發(fā)插入上萬條文檔
- 高可擴(kuò)展性,在負(fù)載高的情況下,只需要添加更多的節(jié)點(diǎn),就可以保證服務(wù)器的性能。
- 分布式計(jì)算
- 低成本,輕量化部署非常簡單
- 沒有復(fù)雜的關(guān)系
缺點(diǎn):
- 沒有標(biāo)準(zhǔn)化
- 程序不直觀
主要記得靈活、好用、速度快、容器擴(kuò)展運(yùn)維方便就好了,不像MySQL那樣,對(duì)集群同步要求那么高。
基本概念
mongodb 中基本的概念是文檔、集合、數(shù)據(jù)庫,讓我由外而內(nèi)和大家聊聊。
和MySQL對(duì)比來看就是
- 數(shù)據(jù)庫——>數(shù)據(jù)庫
- 表————>集合
- 行————>文檔
- 列 ————>字段
數(shù)據(jù)庫(db)?
和MySQL一樣,一個(gè) mongodb 中可以建立多個(gè)數(shù)據(jù)庫。
展示所有的數(shù)據(jù)庫
> show dbs local 0.078GB test 0.078GB運(yùn)行use命令,可以連接到一個(gè)指定的數(shù)據(jù)庫(沒有則創(chuàng)建)。
> use coding3min switched to db coding3min執(zhí)行 db 命令可以顯示當(dāng)前數(shù)據(jù)庫對(duì)象或集合。
> db coding3min文檔(Document)?
說集合之前,要先說說集合里所有的行記錄,也就是文檔,類似MySQL表中一行一行的記錄。
文檔是個(gè)什么東西呢?他長的就像 JSON 對(duì)象。
數(shù)據(jù)結(jié)構(gòu)由鍵值 (key=>value) 對(duì)組成。字段值可以包含其他文檔,數(shù)組及文檔數(shù)組,簡直和json一毛一樣。
集合(collection)?
集合類似MySQL中的表,就是文檔的集合。
db.createCollection("coding3min", {happy:true, age:18})查看當(dāng)然庫有哪些集合
> show collections coding3min其實(shí)你不用刻意創(chuàng)建集合。在插入文檔的時(shí)候,會(huì)自動(dòng)創(chuàng)建。
這就是Mongo的簡單入門啦,我們先講應(yīng)用,以后有機(jī)會(huì)再聊聊業(yè)務(wù)怎么設(shè)計(jì),怎么真正的用起來,系統(tǒng)的講講有哪些比較重要的點(diǎn)。下次再見啦。
總結(jié)
以上是生活随笔為你收集整理的mongodb 输出数组字段_三分钟 mongodb 开发快速上手的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: mockito mock void方法_
- 下一篇: python打印进度条starting.