學習路上之初識MongoDB

mongodb簡介

Mongodb是一個機遇分佈式文件存儲的數據庫。由C++語言編寫。旨在爲WEB應用提供可擴展的高性能數據存儲解決方案
MongoDB是一個介於關係數據庫和非關係數據庫之間的產品,是非關係數據庫當中功能最豐富,最像關係數據庫的。
MongoDB將數據存儲問一個文檔,數據結構由鍵值對組成。MongoDB文檔類似於JSON對象。字段值可以包含其他文檔,數組及文檔數組

引入NoSQL的意義

NoSQL(Not Only SQL),意義:不僅僅是SQL,NoSQL指的是非關係型數據庫,用於超大規模數據的存儲。這些類型的數據存儲不需要固定的模式,無需多餘操作就可以橫向擴展

從SQL的術語入手學習mongoDB的術語

SQL術語 MongoDB術語 備註
database database 數據庫
table collection 數據表,在mongodb中叫集合
row document 數據記錄行,在mongodb中叫文檔
column field 數據字段
index index 索引
table joins document 錶鏈接,mongodb不支持錶鏈接
primary key primary key 主鍵

SQL中的數據表如下

id usernam password
1 張三 123
2 李四 456

轉換爲mongodb則爲

{
     "id":ObjectId("XXX"),
     "username":"張三",
     "password":123

}
{
     "id":ObjectId("XXX"),
     "username":"李四",
     "password":456
}

數據庫,文檔,集合的概念

數據庫:一個mongodb中可以建立多個數據庫。

文檔:文檔是mongodb中的最核心的概念,是其核心單元,我們可以將文檔類比成關係型數據庫中的每一行數據。多個鍵及其關聯的值有序的放置在一起就是文檔。MongoDB使用了BSON這種結構來存儲數據和網絡數據交換。BSON數據可以理解爲在JSON的基礎上添加了一些json中沒有的數據類型。 BSON類似以前學過的JSON結構

集合:集合就是一組文檔的組合。如果將文檔類比成數據庫中的行,那麼集合就可以類比成數據庫的表。 在mongodb中的集合是無模式的,也就是說集合中存儲的文檔的結構可以是不同的

合法的集合名
集合名不能是空字符串”“。
集合名不能含有\0字符(空字符),這個字符表示集合名的結尾。
集合名不能以”system.”開頭,這是爲系統集合保留的前綴。
用戶創建的集合名字不能含有保留字符。有些驅動程序的確支持在集合名裏面包含,這是因爲某些系統生成的集合中包含該字符。除非你要訪問這種系統創建的集合,否則千萬不要在名字 裏出現$。

MongoDB的數據類型

SQL術語 MongoDB術語
String 字符串,存儲數據常用的數據類型。在MongoDB中,UTF-8的字符串編碼纔是合法的
Integer 整型數值,用於存儲數值,根據你選擇的服務器,可分爲32位或64位
Boolean 布爾值
Double 雙精度浮點值
Min/Max keys 將一個值與BSON(二進制的JSON)元素的最低值和最高值相對比
Arrays 用於將數組或列表或多個值存儲爲一個鍵。
Timestamp 時間戳,記錄文檔修改或添加的的具體時間
Object 用於內嵌文檔
Null 用於創建空值
Symbol 符號。該數據類型基本上等同於字符串類型,但不同的是,它一般用於採用特殊符號類型的語言
Date 日期時間。用 UNIX 時間格式來存儲當前日期或時間。你可以指定自己的日期時間:創建 Date 對象,傳入年月日信息。
ObjectId 對象 ID。用於創建文檔的 ID。
Binary Data 二進制數據。用於存儲二進制數據。
Code 代碼類型。用於在文檔中存儲 JavaScript 代碼
Regular expression 正則表達式類型。用於存儲正則表達式。

以上爲今天學到的MongoDB的知識,後續繼續慢慢總結

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章