MongoDB是一個面向文檔的數據庫。 功能: 索引 聚合 特殊的集合類型 文件存儲
文檔是MongoDB的核心概念。文檔就是鍵值對的一個有序集,對應關系型數據庫中的一行。 文檔的鍵是字符串,不能含有/0,文檔不能有重復的鍵。”.”和”$”具有特殊意思,是保留字符。 MongoDB區分類型和大小寫。
集合是一組文檔,對應關系型數據庫的一張表。 使用多個集合的原因: 方便管理 節省查詢時間 方便索引
組織集合的一種慣例是使用“.”分隔不同命名空間的子集合
多個集合可以組合成數據庫 保留的數據庫名: admin local config:存儲分片信息 命名空間:把數據庫名添加到集合名前,得到集合完全限定名。
MongoDB的文檔與javaScript中的對象相近,因而可認為它類似于JSON
1)null 用于表示空值或者不存在的字段 2)布爾型 true|false 3)數值 shell默認使用64位浮點型數值。對于整型值,可使用NumberInt類(表示4字節帶符號整數)或NumberLong類(表示8字 符帶符號整數) {“x”:NumberInt(“3”)} 4)字符串 UTF-8字符串都可以表示為字符串類型的數據 5)日期 日期被存儲為自信紀元以來經過的毫秒數,不存儲時區,所以時間與實際時間會差8小時 {“x”:new Date()} 6)正則表達式 查詢時,使用正則表達式作為限定條件 {“x”:/foobar/i} 7)數組 數組列表或數據集可以表示為數組,數據可包含不同數據類型的元素 {“x”:[“a”,”b”,”c”]} 8)內嵌文檔 文檔可嵌套其他文檔,被嵌套的文檔作為父文檔的值 {“x”:{“foo”:”bar”}} 9)對象Id 對象Id是一個12字節的ID,是文檔的唯一標識 {“_id”:ObjectId()} MongoDB中存儲的文檔必須有一個”_id”鍵。這個鍵可以是任何類型的,默認是個ObjectId對象。 OjbectId是”_id”的默認類型。不同的及其都能用全局唯一的同種方法方便地生成它。 ObjectId使用12字節的存儲空間 0 1 2 3|4 5 6|7 8 |9 10 11 時間戳 機器 PID 計數器 10)自動生成_id 通常會在客戶端由驅動程序完成。體現了MongoDB的哲學:能交給客戶端驅動程序來做的事情就不要交給服務器來 做。因為擴展應用層比擴展數據庫容易得多。 11)二進制數據 二進制數據是一個任意字節的字符串。它不能直接在shell中使用,如果要將非UTF-8字符保存到數據庫中,二進制數據 是唯一的方式 12)代碼 查詢和文檔中可以包括任意Javascript代碼
新聞熱點
疑難解答