概述
MongoDB是目前非常流行的一種非關係型資料庫,作為入門系列的第一篇本篇文章主要介紹Mongdb的基礎概念知識包括命名規則、資料型別、功能以及安裝等。
環境:
OS:Windows
Version:3.4
一、安裝
1.下載解壓
在官網下載對應作業系統版本的安裝包,然後解壓;我這裡使用Windows環境安裝測試。
2.在D盤建立Mongodb\data\db目錄
3.初始化資料
最好先將bin目錄加入到環境變數,否則要到命令目錄下執行。
mongod --dbpath D:\mongodb\data\db
4.啟動服務
在D:\mongodb目錄下建立mongo.config配置檔案,配置檔案內容如下,這裡只配置了資料和日誌路徑,其它的引數暫時預設。
dbpath=D:\mongodb\data\db
logpath=D:\mongodb\data\log\mongo.log
將mongodb新增到服務啟動項
mongod --config D:\mongodb\mongo.config --install --serviceName "MongoDB"
刪除服務啟動項命令
mongod --remove --serviceName "MongoDB"
啟動服務
net start MongoDB
測試服務是否啟動,在瀏覽器中輸入localhost:27017;如果沒有手動指定埠那麼預設埠就是27017
二、報錯處理
1.api-ms-win-crt-runtime-11-1-0.dll
無法啟動此程式,因計算機中都是api-ms-win-crt-runtime-11-1-0.dll
處理方法:下載安裝Windows6.1-KB2999226-x64補丁
https://www.microsoft.com/zh-cn/download/details.aspx?id=49093
三、基礎概念
1.特點
MongoDB並不具備一些關係型資料庫中和普遍的功能,如連線和複雜的多行事務。省略這些功能是出於架構上的考慮(為了得到更好的擴充套件性),因為在分散式系統中這兩個功能難以高效的實現,同時為了追求效能MongoDB會盡可能的將一些處理邏輯交給客戶端(通過驅動程式或應用程式程式碼來實現)。
2.功能
1.索引
MongoDB支援通用的二級索引,允許多種快捷查詢,且提供唯一索引、複合索引、地理空間索引以及全文索引等。
2.聚合
MongoDB支援“聚合管道”,使用者能通過簡單的片段建立複雜的聚合,並通過資料庫自動優化。
3.特殊的聚合型別
MongoDB支援存在時間有限的集合,適用於那些將在某個時刻過期的資料,如會話。MongoDB也支援固定大小的集合,用於儲存近期資料,如日誌。
4.檔案儲存
MongoDB支援一種非常易用的協議,用於儲存大檔案和檔案後設資料。
3.基本概念
- 文件是MongoDB中資料的基本單元,類似關係型資料庫中的行。
- 一個例項可以擁有多個相互獨立的資料庫,每個資料庫都擁有自己的集合,集合類似關係型資料庫中的表。
- 每個文件都有一個特殊的鍵“_id”,這個鍵在文件所屬的集合中是唯一的。
- 每個文件不能有重複的鍵值。例如{"blog":"news","blog":"book"},在該文件中鍵值blog重複。
- 一個集合可以儲存混合的文件,即不同型別的文件。但通常不這樣做,為了方便查詢和管理一般一種型別的資料放一個集合。
- MongoDB不但區分型別,而且區分大小寫。
4.命名、規則
文件
- 鍵不能含有\0(空字元)。這個字元用於表示鍵的結尾。
- .和$具有特殊意義,只能在特定環境下使用。
集合
- 集合名不能是空字串
- 集合名不能包含\0字元
- 集合名不能以"system."開頭
- 集合名中不能使用保留字元“$”
資料庫
- 不能是空字串("")。
- 命名中不能含有:/、\、.、''、*、<、>、:、|、?、$、\0(空字元)。一般由字母和數字組成。
- 資料庫名區分大小寫,建議小寫。
- 資料庫名最多64個位元組。
5.資料型別
1.null
用於表示空值或不存在的欄位
例:{"x":null}
2.布林型
true和flase兩個值,例:
{"x":ture}
3.數值
預設使用64位的浮點型數值,對於整形值,可以使用NumberInt類(4位元組帶符號整數)或NumberLong類(表示8字元帶符號整數)。例:
預設:{"x":3.14}或者{"x":3}
指定整形值:{"x":NumberInt("3")}或者{"x":NumberLong("3")}
4.字串
{"x":"foobar"}
5.日期
{"x":new Date()}
6.正規表示式
{"x" : /a/b}
7.陣列
{"x" : ["a","b","c"]}
8.內嵌文件
文件可以巢狀其它文件,被巢狀的文件作為父文件的值
{"x" :{"a" : "b"}}
9.物件id
物件id是一個12位元組的ID,是文件的唯一標識。
10.二進位制型別
二進位制資料是一個任意位元組的字串
11.程式碼
總結
備註: 作者:pursuer.chen 部落格:http://www.cnblogs.com/chenmh 本站點所有隨筆都是原創,歡迎大家轉載;但轉載時必須註明文章來源,且在文章開頭明顯處給明連結,否則保留追究責任的權利。 《歡迎交流討論》 |