MongoDB是一個高性能,開源,無模式的文檔型數(shù)據(jù)庫,使用C++開發(fā)。是一個介于關(guān)系數(shù)據(jù)庫和非關(guān)系數(shù)據(jù)庫之間的產(chǎn)品,是非關(guān)系數(shù)據(jù)庫當中功能最豐富,最像關(guān)系數(shù)據(jù)庫的。他支持的數(shù)據(jù)結(jié)構(gòu)非常松散,是類似json 的bjson 格式,因此可以存儲比較復雜的數(shù)據(jù)類型。MongoDB 最大的特點是他支持的查詢語言非常強大,其語法有點類似于面向?qū)ο蟮牟樵冋Z言,幾乎可以實現(xiàn)類似關(guān)系數(shù)據(jù)庫單表查詢的絕大部分功能,而且還支持對數(shù)據(jù)建立索引。它是一個面向集合的,模式自由的文檔型數(shù)據(jù)庫。
適用場景
1.在官網(wǎng)上下載MongoDB:【http://www.mongodb.org/downloads 】選擇對應的操作系統(tǒng)。下載來源:zip。
在下載MongoDB for Windows版本時官網(wǎng)會提示:如果您正在運行的版本是Windows Server 2008 R2或Windows 7,請安裝修復補丁解決在Windows上使用內(nèi)存映射文件問題。【補丁】
安裝包中包括:
Server-mongod.exe
Client -mongo.exe
監(jiān)控工具- mongostat.exe,mongotop.exe
導入導出工具-mongodump.exe ,mongorestore.exe,mongoexport.exe,mongoimport.exe等其他工具。
命令啟動MongoDB:
在安裝MongoDB時需要創(chuàng)建一個目錄來存放數(shù)據(jù)文件。(目錄中不要帶中文或空格)。cmd,找到下載目錄,輸入已下命令:mongod--dbpathC:/Test/Data 【安裝方法和memcached,Redis差不多】
如果目錄中有空格,把整個目錄用雙引號包括:mongod --dbpath "C:/PRogram Files/mongodb/data" 。
配置文件啟動Mongodb:
我們把Mongodb所需要的配置信息創(chuàng)建一個文件(MongoDB.config)都在這個文件里面。然后啟動mongodb讀取配置文件信息:configC:/Test/mongodb.config
mongodb.config配置信息:
dbpath=C:/Test/Datalogpath=C:/Test/Log/log.txt
執(zhí)行讀取配置信息如有報錯用管理員身份打開cmd命令行。config設置路徑中不要包括中文。
測試服務是否啟動正常。在瀏覽器中輸入:http://localhost:27017/
證明啟動成功。
MongoDB做為Window服務:
把MongoDB做為Window服務操作如圖:
進入MongoDB客戶端(Shell)。cmd找到安裝目錄輸入:mongo
connection to:test 進入MongoDB客戶端自動給我們連接到Test數(shù)據(jù)庫。
MongoDB創(chuàng)建數(shù)據(jù)庫:
數(shù)據(jù)庫創(chuàng)建語法:
use DATABASE_NAME
新創(chuàng)建的數(shù)據(jù)庫列表為空。要顯示數(shù)據(jù)庫,需要把它插入至少一個文件。
insert()基本語法:
db.COLLECTION_NAME.insert(document)
將文檔數(shù)據(jù)存儲到"ck_test_db" 數(shù)據(jù)庫中的 "student" 集合中
MongoDB是文檔的數(shù)據(jù)結(jié)構(gòu)和JSON基本一樣。所有存儲在集合中的數(shù)據(jù)都是BSON格式,BSON是一種類json的一種二進制形式的存儲格式,簡稱Binary JSON。
find()基本語法:
db.COLLECTION_NAME.find()
find()方法將在非結(jié)構(gòu)化的方式顯示所有的文件。
pretty() 方法:
db.COLLECTION_NAME.find().pretty()
查詢條件:
--MongoDB中AND db.COLLECTION_NAME.find({key1:value1, key2:value2}).pretty()--MongoDB中ORdb.COLLECTION_NAME.find( { $or: [ {key1: value1}, {key2:value2} ] }).pretty()
要查詢文件的一些條件的基礎上,可以使用下面的操作
操作 | 語法 | 例子 | RDBMS 等同 |
---|---|---|---|
Equality | {<key>:<value>} | db.mycol.find({"by":"tutorials point"}).pretty() | where by = 'tutorials point' |
Less Than | {<key>:{$lt:<value>}} | db.mycol.find({"likes":{$lt:50}}).pretty() | where likes < 50 |
Less Than Equals | {<key>:{$lte:<value>}} | db.mycol.find({"likes":{$lte:50}}).pretty() | where likes <= 50 |
Greater Than | {<key>:{$gt:<value>}} | db.mycol.find({"likes":{$gt:50}}).pretty() | where likes > 50 |
Greater Than Equals | {<key>:{$gte:<value>}} | db.mycol.find({"likes":{$gte:50}}).pretty() | where likes >= 50 |
Not Equals | {<key>:{$ne:<value>}} | db.mycol.find({"likes":{$ne:50}}).pretty() | where likes != 50 |
update()基本語法:
db.COLLECTION_NAME.update( criteria, objNew, upsert, multi )
update()函數(shù)接受以下四個參數(shù):criteria : update的查詢條件,類似sql update查詢內(nèi)where后面的。objNew : update的對象和一些更新的操作符(如$,$inc...)等,也可以理解為sql update查詢內(nèi)set后面的upsert : 這個參數(shù)的意思是,如果不存在update的記錄,是否插入objNew,true為插入,默認是false,不插入。multi : mongodb默認是false,只更新找到的第一條記錄,如果這個參數(shù)為true,就把按條件查出來多條記錄全部更新。
刪除數(shù)據(jù):
--刪除指定數(shù)據(jù)db.COLLECTION_NAME.remove( DELLETION_CRITTERIA)--刪除所有數(shù)據(jù)db.COLLECTION_NAME.remove()--刪除集合和集合中所有數(shù)據(jù)db.COLLECTION_NAME.drop()
drop就不在演示。
MongoDB的一些基本操作本章就分享到這里,下一章節(jié)會分享在C#中使用mongodb的一些基本操作。有意可以繼續(xù)關(guān)注噢。
感覺分享的內(nèi)容對你有一絲絲幫助請點個贊噢...呵呵..
新聞熱點
疑難解答