MongoDB是一個獨立的服務(wù)器,如MySQL或PostreSQL 一樣,MongoDB提供偵聽端口以便接入。MongoDB使用類似JavaScript或PHP 的類型處理方式。也就是說,數(shù)據(jù)庫是靈活的弱類型。它提供了用于查詢,創(chuàng)建,更新和刪除的工具。從理論上講,你使用它的工作方式相同:連接,執(zhí)行任務(wù)并關(guān)閉連接
安裝
到這里mongodb就已經(jīng)安裝成功了。
創(chuàng)建存儲數(shù)據(jù)的文件夾
如下圖,在D盤下創(chuàng)建一個用于裝數(shù)據(jù)的data文件夾。
指定數(shù)據(jù)存儲路徑并啟動服務(wù)
在cmd下進(jìn)入剛剛mongoDB安裝的路徑,如下圖:
啟動服務(wù)
執(zhí)行指令:mongod –dbpath D:\data(這里注意前面是兩個-,markdown不知道為什么顯示出來就只有一個-了,見下圖中的指令),其中D:\data為數(shù)據(jù)存放的位置。如下圖這啟動成功。
驗證服務(wù)是否已經(jīng)啟動
在瀏覽器下打開:http://localhost:27017/,如果出現(xiàn)下圖效果則說明服務(wù)已經(jīng)啟動成功:
MongoVUE安裝
下載MongoVUE
下載解壓后效果如下:
安裝
如下圖:
不多做解釋,到此MongoVUE已經(jīng)安裝完成.
破解
將解壓zip下“破解補丁”文件夾中的“MongoVUE.exe”文件替換到安裝文件目錄下,如下圖:
替換到
到此,破解已經(jīng)完成。
建立連接
先打開MongoVUE,按如下圖流程
基礎(chǔ)操作
創(chuàng)建表
右鍵數(shù)據(jù)庫,點擊add Collection,如下圖:
添加數(shù)據(jù)
選擇剛剛添加的表,右鍵,選擇Insert/Import Documents,如下圖:
查看log日志
db.Test.insert({ Name:"張三", Age:23, Sex:"男", Add:"XXX市XXX號XXX街道XXX號"});
查詢
如下圖,最基礎(chǔ)的查詢:
基本查詢,在{find}中輸入Json
如:{Name:”張三”}
db.Test.find({ "Name" : "張三" }).limit(50);db.Test.find({ "Name" : "張三" }).limit(50).explain();
日期查詢
需要通過ISODate函數(shù)將日期進(jìn)行格式話,如:{“InsertDate”:ISODate(“2016-03-09T16:00:00Z”)}
查詢大于,小于,大于等于,小于等于
db.Test.find({ "Age" : { "$gt" : 50 } }).limit(50);db.Test.find({ "Age" : { "$gt" : 50 } }).limit(50).explain();
\$lt:小于 \$lte:小于等于 \$gt:大于 \$gte:大于等于
右擊表格,點擊Find2,比Find多了一個where;寫表達(dá)式,如下圖:
db.Test.find({ "$where" : "this.Age==23 || this.Age==50" }).limit(50);db.Test.find({ "$where" : "this.Age==23 || this.Age==50" }).limit(50).explain();
排序${Sort}
如下圖,在${Sort}中輸入Json:{Age:-1},即對Age字段進(jìn)行排序:
注:當(dāng)大于0的時候為升序,小于0的時候則為降序
db.Test.find({ "$where" : "this.Age==23 || this.Age==50" }).limit(50).sort({ "Age" : -1 });
db.Test.find({ "$where" : "this.Age==23 || this.Age==50" }).limit(50).sort({ "Age" : -1 }).explain();
查詢字段${Fields}
如下圖,查詢_id和這些個字段{Name:1,Age:1}
db.Test.find({ "$where" : "this.Age==23 || this.Age==50" }, { "Name" : 1, "Age" : 1 }).limit(50).sort({ "Age" : -1 });db.Test.find({ "$where" : "this.Age==23 || this.Age==50" }, { "Name" : 1, "Age" : 1 }).limit(50).sort({ "Age" : -1 }).explain();
注:當(dāng)?shù)扔?的時候,就是查詢_id和和等于1的字段;當(dāng)如果等于0時,就是查詢除了等于0的字段之外的所有字段,如下圖:
db.Test.find({ "$where" : "this.Age==23 || this.Age==50" }, { "Name" : 0, "Age" : 0 }).limit(50).sort({ "Age" : -1 });db.Test.find({ "$where" : "this.Age==23 || this.Age==50" }, { "Name" : 0, "Age" : 0 }).limit(50).sort({ "Age" : -1 }).explain();
skip跳過
當(dāng)skip>0的時候表示跳過多少行,比如skip=1,表一起有2條數(shù)據(jù),那么就只會查詢出第二條數(shù)據(jù)。
Limit分頁
表示每次查詢多少行,0的時候標(biāo)識查詢所有,>0則查詢指定的行數(shù)。
修改
右鍵表,選中update
db.Test.update({ "Age" : 24, "$isolated" : "true" },{$set:{Age:27,}});db.Test.find({Age:24});
刪除數(shù)據(jù)
右鍵表,選中remove,在窗口中輸入如下json即可完成刪除
db.Test.remove({ "Age" : 26 });
Over,后續(xù)有進(jìn)一步研究,持續(xù)完善…