小熊昨天晚上作了一個很是真實的噩夢,有讀者朋友催我」怎麼又沒有發文!讓咱們等的好辛苦「,今天一睜開眼眼看後臺留言,特麼,竟然是真的!sql
我bilibili
直播申請都經過了!可是別想讓我吃粑粑!mongodb
這兩天我雖然沒有更新文章,主要由於小熊最近的工做密度比較大,有時候爲了可以偷懶
花一些時間主動寫一些腳本或者代碼,減小不少人力的操做,這種事情沒有人要求小熊,可是我仍是會主動去,長痛不如短痛就是這個道理。數據庫
工做之餘我可沒有閒着,今天要和你們分享的是來自一位讀者的要求,他們小組立刻要用mongodb
了,可是之前歷來沒有接觸過,小熊就知足你的需求。json
有道是,無巧不成書,咱們也用到了mongdb
,不過對於小熊我的來講,對mongodb
的接觸僅限於維護的時候看看錶結構,更新幾行記錄什麼的,正好逮到這個契機下決心好好總結一下。數組
這是一篇科普文。服務器
咱們用 mongodb
比較感興趣的是爲何要用他?他有什麼好處?何時該用?具體怎麼用?數據結構
mongo
相對於傳統的關係型數據庫,例如MySQL
來講,他對每一次插入的字段格式沒有要求,字段能夠隨意變更。併發
像這張圖,各類類型的字段都存在裏面。看上去和Mysql
長的很像,可是他是去sql
的一種數據庫。就是咱們常說的nosql
app
MongoDB
的優勢/缺點MongoDB
的優點主要有 3 個。運維
結構靈活,表結構更改比較自由,不用由於增減字段每次alter
的時候付出代價,適合業務快速迭代,並且 json
原生和大多數的語言有自然的契合。還支持數組,嵌套文檔等數據類型
自帶高可用,自動主從切換(副本集)
自帶水平分片(分片),內置了路由,配置管理。應用只要鏈接路由,對應用來講是透明的。
也具有全部NoSQL
的其餘優勢。
缺點:
主要記得靈活、好用、速度快、容器擴展運維方便就行了,不像MySQL
那樣,對集羣同步要求那麼高。
mongodb
中基本的概念是文檔、集合、數據庫,讓我由外而內和你們聊聊。
和MySQL
對比來看就是
和MySQL
同樣,一個 mongodb
中能夠創建多個數據庫。
展現全部的數據庫
> show dbs
local 0.078GB
test 0.078GB
運行use
命令,能夠鏈接到一個指定的數據庫(沒有則建立)。
> use coding3min
switched to db coding3min
執行 db
命令能夠顯示當前數據庫對象或集合。
> db
coding3min
說集合以前,要先說說集合裏全部的行記錄,也就是文檔,相似MySQL
表中一行一行的記錄。
文檔是個什麼東西呢?他長的就像 JSON
對象。
數據結構由鍵值 (key=>value)
對組成。字段值能夠包含其餘文檔,數組及文檔數組,簡直和json
一毛同樣。
點擊放大查看圖片
集合相似MySQL
中的表,就是文檔的集合。
db.createCollection("coding3min", {happy:true, age:18})
查看固然庫有哪些集合
> show collections
coding3min
其實你不用刻意建立集合。在插入文檔的時候,會自動建立。
這就是Mongo
的簡單入門啦,咱們先講應用,之後有機會再聊聊業務怎麼設計,怎麼真正的用起來,系統的講講有哪些比較重要的點。下次再見啦。