一,安裝mongoDB html
1,解壓mongodb-win32-i386-1.8.2至E:\MyProgram\mongodb-win32-i386-1.8.2(你能夠按照本身的路徑來,路徑中最好不要有空格,要否則麻煩) mongodb
2,新建文件夾C:\DATA\DB,這是mongoDB的默認數據文件夾,你也能夠在文件夾E:\MyProgram\mongodb-win32-i386-1.8.2新建一個文件夾data做爲mongoDB的數據庫文件存儲目錄 shell
3,進入CMD,運行命令E:\MyProgram\mongodb-win32-i386-1.8.2\bin\mongod.exe -dbpath E:\MyProgram\mongodb-win32-i386-1.8.2\data,OK,mongoDB已經安裝成功並已經在運行中了,你將會看到以下: 數據庫
此時是mongoDB的運行狀態,你能夠按Ctrl+C結束運行狀態或者直接關掉CMD結束運行。 google
二,運行mongoDB時的錯誤與處理 spa
完成安裝後,結束掉全部CMD窗口,而後進行以下操做: 設計
1,運行E:\MyProgram\mongodb-win32-i386-1.8.2\bin\mongo,可能會報錯誤:couldn't connect to server 127.0.0.1 shell/mongo.js,緣由是mongod.exe沒有啓動, code
2,既然沒啓動,那咱就啓動唄,運行E:\MyProgram\mongodb-win32-i386-1.8.2\bin\mongod,可能會報錯誤:dbpath (/data/db/) does not exist, terminating,看這樣子,本人以爲還得在data文件夾下再建一個db文件夾啊,如此即新建一db文件夾,再運行mongod命令,結果提示同樣,不知道怎麼搞啦,咱google吧 server
找到文章http://www.mongodb.org/display/DOCS/Starting+and+Stopping+Mongo htm
說「To start Mongo in default mode, where data will be stored in the /data/db directory (or c:\data\db on Windows), and listening on port 27017」,哦,原來默認的文檔路徑在c:\data\db,啥也不說,直接按這個建文件夾,再次運行命令mongod,OK了,啓動成功,這個命令窗口不能關閉,不然mongoDB就退出了
三,使用mongo命令
保持mongod命令窗口的運行狀態,再新開一命令窗口
輸入E:\MyProgram\mongodb-win32-i386-1.8.2\bin\mongo,出現
- MongoDB shell version:1.8.2
- connecting to:test
- >
- OK,鏈接成功。
1,show dbs 顯示數據庫列表
2,use Northwind 進入Northwind數據庫,大小寫敏感
3,show collections 顯示數據庫中的集合
4,db 用於查看當前所在的數據庫
5,db.Customer.count() 查看集合Customer的記錄總數
6,db.Customer.findOne({"_id":"1"}) 查看CustomerId=1的記錄
新增數據
1,use MyTest,這個數據庫不存在,無所謂,mongo會建立,
MongoDB在使用前,並不要求您事先建立好相應的數據庫,設計數據表結構!
在MongoDB中,沒有【表】的概念,取而代之的是【集合】,也沒有【數據記錄】的概念,取而代之的是【文檔】,咱們能夠把【文檔】理解成一個【對象】,任意的對象,甚至能夠有複雜的嵌套層次。
所以,咱們不用再寫代碼從【數據表字段】到C#類的【屬性,字段】的轉換了,如今直接就能夠讀寫整個對象了。
並且MongoDB不支持Join操做,因此,若是有【關聯】操做,就須要你本身來處理
2,item={"Key":"1","text":"wokao","number":3}
3,db.table1.insert(item),mongo將創建集合table1,並將item插入,完成了新增長數據庫的工做
4,db.table1.find()顯示table1中的數據,MongoDB的文檔使用的是一種稱爲BSON格式的對象,與Javascript中的JSON相似
5,額外的,輸入item1={"Id":5,"str":"asdfasdf"},再插入db.table1.insert(item1),再用find()命令看,也插入成功了~,注意到結構和item不同!但不建議這樣作。
注意到:【每一個文檔有一個名爲 "_id" 的成員】,我可沒有定義啊。
其實,MongoDB會爲每一個文檔都建立這樣一個文檔成員,咱們指定的 "key", "id" 對於MongoDB來講:它們並非【文檔的主鍵】,MongoDB只認 "_id",你能夠指定,但若是不指定,MongoDB就自動添加。
修改數據
1,var t=db.table1.findOne({"Id":5}),獲取一條記錄
2,t.str="wokao"
3,db.table1.update({"Id":5},t)
刪除數據
db.table1.remove({"Id":5})
查找數據
上面已經有find和findOne命令,即用於查詢
db.table1.find()
MongoDB的查詢條件中,並無 >, <, >= , <= 這些運算符,而是使用 "$lt", "$lte", "$gt", "$gte"
新建表
db.MyTest.table2.save({})
刪除表
db.table1.drop()或db.runCommand({"drop","table1"})
刪除數據庫
db.runCommand({"dropDatabase": 1}),此命令只能刪除當前數據庫
獲取服務端狀態信息
db.runCommand({"serverStatus" : 1})
原文連接:http://www.cnblogs.com/bestfc/archive/2011/06/28/MongoDB.html