MongoDB是基于文檔引擎的數(shù)據(jù)庫(kù),這和傳統(tǒng)的關(guān)系型數(shù)據(jù)庫(kù),例如MySQL很不一樣,文檔引擎的數(shù)據(jù)庫(kù)沒(méi)有schema的概念。本篇將主要通過(guò)創(chuàng)建一個(gè)Rails的應(yīng)用來(lái)介紹使用MongoDB和MongoMapper gem。實(shí)際上,很多的Rails程序員都是通過(guò)John Nunemaker的一篇博文RailsTips blog開始關(guān)注Mongo的。這是一篇相當(dāng)精彩值得一讀的文章,闡述了MongoMapper和MongoDB的七個(gè)主要功能并和傳統(tǒng)的數(shù)據(jù)庫(kù)做了對(duì)比,推薦閱讀。
值得一提的是博文中的一個(gè)功能,也是前文提到的MongoDB沒(méi)有schema的概念。這樣的數(shù)據(jù)庫(kù)設(shè)計(jì)的有點(diǎn)在于,從數(shù)據(jù)庫(kù)本身層面解決了schema的問(wèn)題,不用在Rails中使用migrate操作了。因?yàn)樵谖臋n引擎的數(shù)據(jù)庫(kù)中,每一行都是一個(gè)獨(dú)立的文檔類型,可以有自己的一組不同于其他記錄的屬性。這樣的設(shè)計(jì)在分布式數(shù)據(jù)庫(kù)中也會(huì)有獨(dú)到的好處。
安裝MongoDB
一、這里是基于ubuntu的安裝,而且是最傻瓜的安裝方式
1.運(yùn)行"apt-get install mongodb"
如果遇到找不到安裝包的話運(yùn)行"
apt-get update
"
2.這時(shí)裝好以后應(yīng)該會(huì)自動(dòng)運(yùn)行mongod程序,通過(guò)"pgrep mongo -l"查看進(jìn)程是否已經(jīng)啟動(dòng)
3.在終端輸入"mongo",然后回車進(jìn)入數(shù)據(jù)庫(kù)
通過(guò)訪問(wèn)http://localhost:28017/可以驗(yàn)證是否成功安裝和配置MongoDB
4.如果不喜歡使用命令行的話 可以通過(guò)官網(wǎng)下載相應(yīng)安裝包進(jìn)行安裝,但是我個(gè)人建議還是使用命令行,路徑是默認(rèn)的方便修改以及查找相應(yīng)文件。
二、windows下安裝
1.下載地址:http://www.mongodb.org/downloads
2.解壓縮到自己想要安裝的目錄,比如d:\mongodb
3.創(chuàng)建文件夾d:\mongodb\data\db、d:\mongodb\data\log,分別用來(lái)安裝db和日志文件,在log文件夾下創(chuàng)建一個(gè)日志文件MongoDB.log,即d:\mongodb\data\log\MongoDB.log
4.運(yùn)行cmd.exe進(jìn)入dos命令界面,執(zhí)行下列命令
> cd d:\mongodb\bin
> d:\mongodb\bin>mongod -dbpath "d:\mongodb\data\db"
看到類似的信息,則說(shuō)明啟動(dòng)成功,默認(rèn)MongoDB監(jiān)聽的端口是27017,mysql的是3306
5.測(cè)試連接
新開一個(gè)cmd窗口,進(jìn)入mongodb的bin目錄,輸入mongo或者mongo.exe,出現(xiàn)如下信息說(shuō)明測(cè)試通過(guò),此時(shí)我們已經(jīng)進(jìn)入了test這個(gè)數(shù)據(jù)庫(kù)。