MongoDB概念決議
1、MongoDB vs SQL

2、資料庫
-
一個MongoDB可以建立多個資料庫,其中默認資料庫為“db”,存盤在data目錄中
-
MongoDB的單個實體可以容納多個獨立的資料庫,每一個都有自己的集合、權限,不同資料庫存盤在不同的檔案
-
show dbs:顯示所有的資料庫串列

db:可以顯示當前資料庫物件或集合

use:連接到指定的資料庫,如果不存在則可以創建一個資料庫

-
資料庫的名稱要求:
-
不能是空字串
-
不得含有' '(空格)、.、$、/、\和\0 (空字符)
-
應該全部小寫
-
最多為64個位元組
-
保留資料庫名:admin(擁有所有資料庫的權限)、local(永遠不會被復制)、config(分片設定)
-
3、檔案(Document)
- 檔案是一組鍵值對(BSON),MongoDB的檔案不需要設定相同的欄位,并且相同的欄位不需要相同的資料型別

-
注意:
-
檔案中的鍵值對是有序的
-
檔案中的值不僅可以使在雙引號里的字串,也可以是其他資料型別,甚至可以是另外一個檔案
-
MongoDB區分型別和大小寫
-
MongoDB的檔案不能有重復的鍵
-
檔案的鍵是字串,除了少數例外,鍵可以使用任意的UTF-8字符
-
-
檔案命名規范:
-
鍵不能含有空字符,\0用來表示鍵的結尾
-
.和$符號有特別的意義,只有在特定的環境下才可以使用
-
以下劃線"_"開頭的鍵是保留的(不是嚴格要求的)
-
4、集合
-
集合就是MongoDB的檔案組,類似于關系型資料庫中的表
-
集合存在于資料庫中,集合沒有固定的結構,意味著你可以對集合插入不同格式和型別的資料
-
當第一個檔案插入時,集合就會被創建
1、合法的集合名
-
集合名稱不能是空字串
-
集合名不能含有空字符,只能再結合結尾表示
-
集合名稱不能以“system.”開頭,這是為系統集合保留的前綴
-
用戶創建的集合名字不能含有保留字符,有些驅動程式的確支持在集合名里面包含,這是因為某些系統生成的集合中包含該字符,除非你要訪問這種系統創建的集合,否則千萬不要在名字里出現$
2、Capped collections
-
capped collections就是固定大小的集合
-
它有很高的性能以及佇列過期的特性,是高性能的自動的維護物件的插入順序

5、元資料
-
在MongoDB中,元資料(Metadata)是用于描述和管理資料庫、集合和檔案的資訊,它包含了關于這些物件的屬性、結構和配置的資料,
-
元資料在MongoDB中非常重要,它提供了對資料庫和集合的結構、配置和性能等方面的了解,幫助管理員和開發人員有效地管理和操作MongoDB資料庫,

6、資料型別
1、常用資料型別

2、ObjectId
-
類似于唯一主鍵,可以很快的去生成和排序,包含12bytes
-
由于 ObjectId 中保存了創建的時間戳,所以你不需要為你的檔案保存時間戳欄位,你可以通過 getTimestamp 函式來獲取檔案的創建時間

3、字串
- BSON 字串都是 UTF-8 編碼
4、時間戳
-
時間戳是指特定事件發生時的標記或記錄,通常以數字形式表示,它表示自某個參考點以來經過的時間量,以秒、毫秒或其他單位進行測量,
-
BSON 有一個特殊的時間戳型別用于 MongoDB 內部使用,與普通的 日期 型別不相關, 時間戳值是一個 64 位的值,
-
時間戳的起點通常是某個特定的時刻,稱為"紀元"(epoch),最常用的紀元是1970年1月1日格林威治標準時間(UTC)的午夜,在Unix和類Unix系統中,時間戳通常表示自此紀元以來經過的秒數,例如,當前時間的時間戳是一個表示自1970年1月1日以來的秒數,
-
時間戳還可以包含更精確的時間資訊,例如毫秒級或微秒級時間戳,以提供更高的時間解析度,在這種情況下,時間戳可能包括小數部分,表示秒的小數值,
-
前32位是一個 time_t 值(與Unix新紀元相差的秒數),后32位是在某秒中操作的一個遞增的序數
-
BSON 時間戳型別主要用于 MongoDB 內部使用,在大多數情況下的應用開發中,你可以使用 BSON 日期型別,
4、日期
- 日期型別是有符號的, 負數表示 1970 年之前的日期,

轉載請註明出處,本文鏈接:https://www.uj5u.com/shujuku/556267.html
標籤:其他
上一篇:跑得更快!華為云GaussDB以出色的性能守護“ERP的心臟”
下一篇:返回列表
