最近發現維持寫博客的習慣仍是挺困難的,尤爲對我來講,計劃好的事過了好長時間纔想到要去作.html
這段時間一直在熟悉MongoDB,首先我是參考的這一篇:8天學通MongoDB 原博主寫得很是好,我這裏就隨便再寫一點東西做爲補充,或者說原博主可能以爲比較基礎的概念沒講的我這裏就說一下.git
首先是對MongoDB的體會吧,MongoDB這東西我以爲對於原來的關係型數據庫來講須要接受一些新的概念,這些概念有與傳統SQL很不同的地方.github
首先是NoSQL的概念,即:數據庫的查詢不經過SQL語句進行,雖然有些項目想統一SQL和NoSQL的查詢方式,可是主流來講對於MongoDB的操做每每是經過各個語言相應的API來進行的,因此再編程的時候不能像SQL同樣,一種SQL文件處處用.看起來像是一個缺點,但實踐中你通常跟數據庫連也就用1層而已,並且我以爲通常MongoDB的Driver的API都比較容易理解.算法
若是光說不用SQL來查詢的話彷佛沒什麼,可是不用SQL能夠不用在乎不少事情,好比用MongoDB的時候是不須要建表的.注意我這裏說不須要建表是不用顯式地寫代碼來建表,不須要指定一個表有多少列,每一列是什麼樣子的.若是以前只接觸過MySQL的話可能比較有疑問,着到底怎麼用?mongodb
先看一下MongoDB的基礎,對於MongoDB來講整個數據庫分爲3層,首先,一個MongoDB的實例中會有N個數據庫,這是最大的概念了,和MySQL的數據庫的概念是同樣的.接下來每個數據庫裏面會有N個集合,在看文檔的時候的collection就是指它了,若是你把它和MySQL比較的話可能以爲它和表對應,可是要注意爲何MongoDB中不叫Table而是叫Collection,Table是對應着由行有列的表格的,而Collection你能夠認爲是一個容器(好比垃圾桶),什麼樣的東西都能裝進來.而Table不同,要進入Table,你就必須把本身的數據弄的跟Table的列是同樣的才行.明白這點區別的話其實就很好理解Collection中裝的東西了,叫Document,就是文檔.文檔是基於BSON的,提及BSON估計你們都有疑問是啥,可是提起JSON應該很多人都知道.其實BSON就是固定有"_id"字段的JSON,並且這個"_id"會再算法上保證不會和另外一個發生衝突,也就是惟一的.而數據就做爲Document裏面的字段存在.數據庫
前面說了一些比較大的概念,不如說些具體的東西,做爲原文的補充.首先是安裝吧,在mac上安裝因爲mac有包管理homebrew的存在,安裝mongodb變成了一件很是簡單的事情,直接在Term裏面輸入brew install mongodb就能夠了(若是你是第一次用brew,須要用brew doctor命令來檢查homebrew是否能正常工做)編程
打開mongodb的方法和windows上同樣,輸入mongod打開服務器端,運行指令用mongo命令,這裏再也不贅述了.windows