1 MongoDB 簡介 1.1 使用場景 (1)數據量大 (2)價值較低 對於這樣的數據,更適合於使用MangoDB來存儲數據 1.2 什麼是MangoDB MangoDB是一個跨平臺的面向 文檔(相當於Mysql中的一行記錄) 的資料庫,是NoSql資料庫中最熱門的一種。它介於關係和非關係資料庫 ...
1 MongoDB 簡介
1.1 使用場景
(1)數據量大
(2)價值較低
對於這樣的數據,更適合於使用MangoDB來存儲數據
1.2 什麼是MangoDB
MangoDB是一個跨平臺的面向文檔(相當於Mysql中的一行記錄)的資料庫,是NoSql資料庫中最熱門的一種。它介於關係和非關係資料庫之間的,是非關係資料庫中功能最豐富,最像關係資料庫的產品,支持的數據非常鬆散,類似於JSON的BSON格式,因此可以存儲比較複雜的數據類型
官網:[http://www.mangodb.org]
1.3 MongoDB的特點
MongoDB最大的特點就是他支持的查詢語言非常強大,語法類似於面向對象的查詢語言,幾乎可以實現類似關係資料庫單表查詢的絕大部分功能,而且還支持對資料庫簡歷索引。它是一個面向集合的,模式自由的文檔型資料庫。
特點:
- 面向集合存儲,易於存儲對象類型的數據;
- 模式自由
- 支持動態查詢
- 支持完全索引,包含內部對象
- 支持複製和故障恢復
- 使用高效的二進位數據存儲,包括大型對象 如視頻等
- 自動處理碎片,支持雲計算層次的擴展
- 支持Python、PHP、Ruby、Java、C、C#、Javascript、Prel等等
- 支持的格式BSON一種JSON的擴展
1.4 MongoDB體繫結構
MangoDB的邏輯結構是一種層次結構主要由:
文檔(document)、集合(collection)、資料庫(database)這三部分組成。伙計結構是面向用戶的,用戶使用MangoDB開發應用程式就是使用的邏輯結構
- MangoDB的文檔(document),相當於關係資料庫中的一行
- 多個文檔組成一個集合(collection),相當於關係資料庫中的表
- 多個集合(collection),邏輯上組織在一起,就是資料庫(database)
- 一個MangoDB支持多個資料庫(database)
1.5 數據類型
基本數據類型
null:用於表示空值或者不存在的欄位{"x":null}
布爾型:布爾類型有兩個值true或者false {"x"true}
數值:shell預設使用64位浮點型數值,{"x":3.14} 或 {"x":3.14}
對於整型可以使用NumberInt(4位元組符號整數)或NumberLong(8位元組符號整數)
{"x":NumberInt(4)}{"x":NumberLong(4)}
字元串:UTF-8字元串都可以表示字元串類型的數據{"x":"呵呵"}
日期:日期被存儲為自新紀元依賴經過的毫秒數,不存儲時區,{"x":new Date()}
正則表達式:查詢時,使用正則表達式作為限定條件,語法與JavaScript的正則表達式相同,{“x”