MongoDb是不錯的NoSQL資料庫之一,NoSQL 的意思是Not Only SQL,比關係型資料庫MySQL、SQL Server等更易於擴充,更多的應用于海量資料的儲存,且資料可以彈性跨LAN、WAN擴充,因而更適於cloud的環境中。最近開始的一個項目需要用到MongoDB,這裡小試牛刀,在本機上安裝測試一下。
MongoDB可以從官網上下載, 下載完後解壓縮到某個目錄,比如C:\MongoDB。要運行MongoDB,首先建立兩個目錄:
C:\MongoDB\data 用於儲存資料
C:\MongoDB\log 用於儲存日誌
然後進入到命令列:
C:\MongoDB\bin>mongod.exe --dbpath c:\mongodb\data
伺服器即可啟動。
然後再開一個cmd視窗,運行mongo,串連到該伺服器:
C:\>cd MongoDB
C:\MongoDB>cd bin
C:\MongoDB\bin>mongo
MongoDB shell version: 2.4.3
connecting to: test
Welcome to the MongoDB shell.
For interactive help, type "help".
For more comprehensive documentation, see
http://docs.mongodb.org/
Questions? Try the support group
http://groups.google.com/group/mongodb-user
MongoDB這樣的NoSQL和常見的關係型資料庫不一樣,他沒有固定的結構,而是是文檔的形式儲存的,下面是一個測試例子:
> db.test.save({a:1}); //在test表(暫時這麼說)中儲存一條記錄 a = 1
> db.test.find(); // 尋找所有記錄
{ "_id" : ObjectId("517b4b3823c489619d958d66"), "a" : 1 }
>
再增加幾條記錄,注意這些新增的記錄中有多了幾個欄位:
> db.test.save({name:'lisi', score: 87, grade : 'good' });
> db.test.save({name:'wangwu', score: 61, grade : 'pass' });
> db.test.find();
{ "_id" : ObjectId("517b4b3823c489619d958d66"), "a" : 1 }
{ "_id" : ObjectId("517b4eba23c489619d958d67"), "name" : "zhang san", "score" :
93 }
{ "_id" : ObjectId("517b4f3523c489619d958d68"), "name" : "lisi", "score" : 87, "
grade" : "good" }
{ "_id" : ObjectId("517b4f5023c489619d958d69"), "name" : "wangwu", "score" : 61,
"grade" : "pass" }
>
可以看出MongoDB的使用是非常靈活的。具體的用法下來再研究。