首頁 > 軟體

MongoDB資料庫基本概念解析

2022-03-07 19:08:23

上一篇文章中講解了如何安裝MongoDB,這篇文章中講解一些有關MongoDB的概念。

不管我們要學習什麼資料庫,都應該學習其中的基礎概念,在MongoDB中基本的概念是檔案、集合、資料庫,下面挨個介紹。

下面的表格將會幫助您更容易理解MongoDB中的一些概念:

SQL術語/概念MongoDB術語/概念解釋/說明
databasedatabaee資料庫
tablecollection資料庫表/集合
rowdocument資料記錄行/檔案
columnfield資料欄位/域
indexindex索引
table joins 表連線,MongoDB不支援
primary keyprimary key主鍵,MongoDB自動將_id欄位設定為主鍵

一、資料庫

一個MongoDB中可以建立多個資料庫。

MongoDB的預設資料庫為“db”,該資料庫儲存在data目錄中。

MongoDB的單個範例可以容納多個獨立的資料庫,每一個都有自己的集合和許可權,不同的資料庫也放置在不同的檔案中。

1、使用“show dbs”命令可以顯示所有資料庫的列表,如下圖所示:

2、執行“db”命令可以顯示當前資料庫物件或集合,如下圖所示:

3、執行“use”命令,可以連線到一個指定的資料庫。

例如:從當前的test資料庫切換到local資料庫,如下圖所示:

admin:從許可權的角度來看,這是“root”資料庫。要是將一個使用者新增到這個資料庫,這個使用者自動繼承所有資料庫的許可權。一些特定的伺服器端的命令也只能從這個資料庫執行,比如列出所有的資料庫或者關閉伺服器。

local:這個資料永遠不會被複制,可以用來儲存限於本地單臺伺服器的任意集合。

config:當MongoDB用於分片設定時,config資料庫在內部使用,用於儲存分片的相關資訊。

二、檔案

檔案是一組鍵值(key-value)對(即BSON)。MongoDB的檔案不需要設定相同的欄位,並且相同的欄位不需要相同的資料型別。這與關係型資料庫有很大的區別,也是MongoDB非常突出的特點。

一個簡單的檔案例子如下:

{"site":"www.baidu.com","name":"百度"}

RDBMS與MongoDB對應的術語:

需要注意的是:

  • 1、檔案中的鍵/值對是有序的。
  • 2、檔案中的值不僅可以是在雙引號裡面的字串,還可以是其他幾種資料型別(甚至可以是整個嵌入的檔案)。
  • 3、MongoDB區分型別和大小寫。
  • 4、MongoDB的檔案不能有重複的鍵。
  • 5、檔案的鍵是字串。除了少數例外情況,鍵可以使用任意的UTF-8字元。

檔案鍵命名規範:

  • 1、鍵不能含有(空字元)。這個字元用來表示鍵的結尾。
  • 2、.和$有特別的意義,只有在特定環境下才能使用。
  • 3、以下劃線“_”開頭的鍵是保留的(不是嚴格要求的)。

三、集合

集合就是MongoDB檔案組,類似於RDBMS(即關聯式資料庫管理系統)中的表格。

集合存在於資料庫中,集合沒有固定的結構,這意味著你在對集合可以插入不同格式和型別的資料,但通常情況下我們插入集合的資料都會有一定的關聯性。

比如,我們可以將以下不同資料結構的檔案插入到集合中:

{“site”:“www.baiduc.com”}

{“site”:“www.baiduc.com”,"name":"百度"}

{“site”:“www.baiduc.com”,"name":"百度","address":"北京"}

合法的集合命名

  • 1、集合名不能是空字串“”。
  • 2、集合名不能含有字元(空字元),這個字元表示集合名的結尾。
  • 3、集合名不能以“system”開頭,這是為系統集合保留的字首。
  • 4、使用者建立的集合名字不能含有保留字元。有些驅動程式的確支援在集合名裡面包含,這是因為某些系統生成的集合中包含該字元。除非你要存取這種系統建立的集合,否則千萬不要在集合名字裡面出現$。

MongoDB資料型別

資料型別

描述

String

字串。儲存資料常用的資料型別。在 MongoDB 中,UTF-8 編碼的字串才是合法的。

Integer

整型數值。用於儲存數值。根據你所採用的伺服器,可分為 32 位或 64 位。

Boolean

布林值。用於儲存布林值(真/假)。

Double

雙精度浮點值。用於儲存浮點值。

Min/Max keys

將一個值與 BSON(二進位制的 JSON)元素的最低值和最高值相對比。

Arrays

用於將陣列或列表或多個值儲存為一個鍵。

Timestamp

時間戳。記錄檔案修改或新增的具體時間。

Object

用於內嵌檔案。

Null

用於建立空值。

Symbol

符號。該資料型別基本上等同於字串型別,但不同的是,它一般用於採用特殊符號型別的語言。

Object ID

物件 ID。用於建立檔案的 ID。建立檔案時預設自動建立

Binary Data

二進位制資料。用於儲存二進位制資料。

Code

程式碼型別。用於在檔案中儲存 JavaScript 程式碼。

Regular expression

正規表示式型別。用於儲存正規表示式。

Date

日期時間。用 UNIX 時間格式來儲存當前日期或時間。你可以指定自己的日期時間:建立 Date 物件,傳入年月日資訊。

到此這篇關於MongoDB概念解析的文章就介紹到這了。希望對大家的學習有所幫助,也希望大家多多支援it145.com。


IT145.com E-mail:sddin#qq.com