為什么說(shuō)“初識(shí)如故”呢,因?yàn)閙ongodb的數(shù)據(jù)存儲(chǔ)格式是一種由于MongoDB的文檔結(jié)構(gòu)為BJSON格式(BJSON全稱:BinaryJSON),而BJSON格式本身就支持保存二進(jìn)制格式的數(shù)據(jù),因此可以把文件的二進(jìn)制格式的數(shù)據(jù)直接保存到MongoDB的文檔結(jié)構(gòu)中。
MongoDB是由(database)、集合(collection)、文檔對(duì)象(document)三個(gè)層次組成。
和關(guān)系型數(shù)據(jù)庫(kù)的對(duì)應(yīng)關(guān)系:
關(guān)系型數(shù)據(jù)庫(kù) MongoDB數(shù)據(jù)庫(kù)
Database database
table collection
Row document
在MongoDB中可以建立索引,collection中有一個(gè)默認(rèn)的隱藏字段_id,該字段。
安裝使用
windows下安裝mongodb和簡(jiǎn)單使用mongodb命令
一、下載,解壓文件
到官方下載合適的版本 http://www.mongodb.org/downloads
例如:http://fastdl.mongodb.org/win32/mongodb-win32-i386-2.2.1.zip
解壓后放到對(duì)應(yīng)的盤符下面,例如:D:\mongodb
二、安裝
1.把bin目錄加入到環(huán)境變量中 D:\mongodb\bin
2.在D:\mongodb下創(chuàng)建data文件夾放數(shù)據(jù)用,還要在data文件下創(chuàng)建一個(gè)db文件夾,沒有db文件夾mongodb不能正常啟動(dòng)
3.簡(jiǎn)單啟動(dòng)mongodb方法:
進(jìn)入到bin目錄下
代碼如下:
C:\Documents and Settings\me>D:
D:\>cd mongodb/bin
D:\mongodb\bin>mongod –dbpath D:/mongodb/data
D:\mongodb\bin>mongod –dbpath D:/mongodb/data
顯示如下內(nèi)容:
Sun Jan 16 14:56:03 MongoDB starting : pid=860 port=27017 dbpath=D:/mongodb/d
ata 32-bit
** NOTE: when using MongoDB 32 bit, you are limited to about 2 gigabytes of data
** see http://blog.mongodb.org/post/1377867/32-bit-limitations
Sun Jan 16 14:56:03 db version v2.2.1, pdfile version 4.5
Sun Jan 16 14:56:03 git version: 0eb017e9b2828155a67c5612183337be12e291
Sun Jan 16 14:56:03 sys info: windows (5, 1, 2600, 2, ‘Service Pack 3′) BOOST_LI
B_VERSION=1_35
Sun Jan 16 14:56:03 [initandlisten] waiting for connections on port 27017
Sun Jan 16 14:56:03 [websvr] web admin interface listening on port 28017
注:必須先建立data文件夾和到bin目錄下執(zhí)行。mongoDB 服務(wù)端的默認(rèn)連接端口是 27017
2.添加到注冊(cè)表作為Windows服務(wù)啟動(dòng),和mysql一樣啟動(dòng)Windows時(shí)會(huì)自動(dòng)啟動(dòng)服務(wù),到bin目錄下執(zhí)行
代碼如下:
D:\mongodb\bin>mongod --logpath D:\mongodb\log\log1.log --logappend
--dbpath D:\mongodb\data --directoryperdb --serviceName mongodb –install
完成后輸出下面內(nèi)容(360等殺毒軟件會(huì)阻止,需要允許通過(guò))
all output going to: D:\mongodb\logs\log1.log
Creating service mongodb
Service creation successful.
Service can be started from the command line via ‘net start “mongodb″‘.
D:\mongodb\bin>
其中:log\log1.log日志是以追加的方式輸出的,–serviceName mongodb是服務(wù)名稱
啟動(dòng)MongoDB:net start mongodb
停止MongoDB:net stop mongodb
注:添加到注冊(cè)表后重啟電腦在服務(wù)項(xiàng)里面可以看到已經(jīng)啟動(dòng),但服務(wù)仍然沒有啟動(dòng),重啟服務(wù)發(fā)現(xiàn)給360安全衛(wèi)士阻止了需要再次確定才能啟動(dòng)。
3.mongodb的簡(jiǎn)單使用命令,到bin命令下執(zhí)行mongo.exe進(jìn)入管理界面,默認(rèn)是進(jìn)入到test帳號(hào)。
代碼如下:
D:\mongodb\bin>mongo.exe
MongoDB shell version: 2.2.1
connecting to: test
> show dbs;
admin
local
> help;查看命令提示
三、接下來(lái),就是跟所有數(shù)據(jù)庫(kù)一樣的操作要加一個(gè)用戶的防問權(quán)限
但是些時(shí)創(chuàng)建的用戶沒有查看集合的權(quán)限,怎么辦呢!其實(shí)也好辦,我已經(jīng)替大家頭疼過(guò)了,所以能夠堅(jiān)持用心看到這里的同學(xué)不會(huì)再頭疼了。
在剛才進(jìn)入的mongo.exe管理界面執(zhí)行以下命令
代碼如下:
>use admin
>db.auth("sa","sa")
>use web
>show collections
這回就暢通無(wú)阻了吧。
四、MongoDB創(chuàng)建數(shù)據(jù)庫(kù)完全可以使用use 如下: use web; 這樣就創(chuàng)建了一個(gè)數(shù)據(jù)庫(kù)
切換到web數(shù)據(jù)庫(kù),如果不存在則在插入數(shù)據(jù)后會(huì)自動(dòng)創(chuàng)建一個(gè),在data目錄下可以看到新增了一個(gè)web的文件夾
代碼如下:
> use web;
switched to db web
> db.my.save({a:10});向collection my 中保存一條信息,如果不存在collection會(huì)自動(dòng)創(chuàng)建一個(gè)
> db.my.find();檢索所有記錄
{ “_id” : ObjectId(“4d32c9204e6100000000691e”), “a” : 10 }
> show collections;
my
system.indexes
>exit;退出
Mongodb的安裝及用戶權(quán)限設(shè)置已到此結(jié)束。
下面介紹幾種圖形話管理工具
1.使用圖形話管理工具“MongoVUE 0.9.7.2”
進(jìn)入之后可以看到
2.一種比較推薦的管理軟件是“rockmongo”
需要php運(yùn)行環(huán)境的支持,本人更喜歡它,因?yàn)閜hp程序員有著現(xiàn)成的環(huán)境不用白不用,呵呵。
(1).下載一個(gè)rockmongo,解壓后放在web目錄下 下載地址:http://rockmongo.com/downloads
如果你沒有php的運(yùn)行環(huán)境的話,但又想使用rockmongo的話,可以在下載地址中集成包下載。
(2).下載一個(gè)php對(duì)mongodb的支持 php_mongo.dll 下載地址:https://github.com/mongodb/mongo-php-driver/downloads
(3).在php.ini中加入這行代碼 extension=php_mongo.dll 然后重啟apache,查看php_info
表示已經(jīng)安裝成功
(4).在瀏覽器中輸入 rockmongo 的地址,出現(xiàn)登錄框,登錄就可以了。默認(rèn)的用戶是:admin 密碼:admin
還有很多種其他工具,大家可以慢慢探索。
聲明:本網(wǎng)頁(yè)內(nèi)容旨在傳播知識(shí),若有侵權(quán)等問題請(qǐng)及時(shí)與本網(wǎng)聯(lián)系,我們將在第一時(shí)間刪除處理。TEL:177 7030 7066 E-MAIL:11247931@qq.com