三分鐘 mongodb 開發快速上手

三分鐘 mongodb 開發快速上手

小熊昨天晚上作了一個很是真實的噩夢,有讀者朋友催我」怎麼又沒有發文!讓咱們等的好辛苦「,今天一睜開眼眼看後臺留言,特麼,竟然是真的!sql

圖片

bilibili直播申請都經過了!可是別想讓我吃粑粑!mongodb

圖片

這兩天我雖然沒有更新文章,主要由於小熊最近的工做密度比較大,有時候爲了可以偷懶花一些時間主動寫一些腳本或者代碼,減小不少人力的操做,這種事情沒有人要求小熊,可是我仍是會主動去,長痛不如短痛就是這個道理。數據庫

工做之餘我可沒有閒着,今天要和你們分享的是來自一位讀者的要求,他們小組立刻要用mongodb了,可是之前歷來沒有接觸過,小熊就知足你的需求。json

圖片

有道是,無巧不成書,咱們也用到了mongdb,不過對於小熊我的來講,對mongodb的接觸僅限於維護的時候看看錶結構,更新幾行記錄什麼的,正好逮到這個契機下決心好好總結一下。數組

這是一篇科普文。服務器

爲何用(有在哪,有什麼好處) ?

咱們用 mongodb 比較感興趣的是爲何要用他?他有什麼好處?何時該用?具體怎麼用?數據結構

圖片

mongo 相對於傳統的關係型數據庫,例如MySQL來講,他對每一次插入的字段格式沒有要求,字段能夠隨意變更。併發

圖片

像這張圖,各類類型的字段都存在裏面。看上去和Mysql長的很像,可是他是去sql的一種數據庫。就是咱們常說的nosqlapp

MongoDB 的優勢/缺點

MongoDB 的優點主要有 3 個。運維

  • 結構靈活,表結構更改比較自由,不用由於增減字段每次alter 的時候付出代價,適合業務快速迭代,並且 json 原生和大多數的語言有自然的契合。還支持數組,嵌套文檔等數據類型

  • 自帶高可用,自動主從切換(副本集)

  • 自帶水平分片(分片),內置了路由,配置管理。應用只要鏈接路由,對應用來講是透明的。

也具有全部NoSQL的其餘優勢。

  • 他能夠併發插入上萬條文檔
  • 高可擴展性,在負載高的狀況下,只須要添加更多的節點,就能夠保證服務器的性能。
  • 分佈式計算
  • 低成本,輕量化部署很是簡單
  • 沒有複雜的關係

缺點:

  • 沒有標準化
  • 程序不直觀

主要記得靈活、好用、速度快、容器擴展運維方便就行了,不像MySQL那樣,對集羣同步要求那麼高。

基本概念

mongodb 中基本的概念是文檔、集合、數據庫,讓我由外而內和你們聊聊。

MySQL對比來看就是

  • 數據庫——>數據庫
  • 表————>集合
  • 行————>文檔
  • 列 ————>字段

數據庫(db)?

MySQL同樣,一個 mongodb 中能夠創建多個數據庫。

展現全部的數據庫

> show dbs
local  0.078GB
test   0.078GB

運行use命令,能夠鏈接到一個指定的數據庫(沒有則建立)。

> use coding3min
switched to db coding3min

執行 db 命令能夠顯示當前數據庫對象或集合。

> db
coding3min

文檔(Document)?

說集合以前,要先說說集合裏全部的行記錄,也就是文檔,相似MySQL表中一行一行的記錄。

文檔是個什麼東西呢?他長的就像 JSON 對象。

圖片

數據結構由鍵值 (key=>value) 對組成。字段值能夠包含其餘文檔,數組及文檔數組,簡直和json一毛同樣。

圖片點擊放大查看圖片

集合(collection)?

集合相似MySQL中的表,就是文檔的集合。

db.createCollection("coding3min", {happy:true, age:18})

查看固然庫有哪些集合

> show collections
coding3min

其實你不用刻意建立集合。在插入文檔的時候,會自動建立。

這就是Mongo的簡單入門啦,咱們先講應用,之後有機會再聊聊業務怎麼設計,怎麼真正的用起來,系統的講講有哪些比較重要的點。下次再見啦。

相關文章
相關標籤/搜索