溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

MongoDB數據庫基本概念有哪些

發(fā)布時間:2022-03-07 16:34:40 來源:億速云 閱讀:157 作者:iii 欄目:開發(fā)技術

這篇“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”命令可以顯示所有數據庫的列表,如下圖所示:

MongoDB數據庫基本概念有哪些

2、執(zhí)行“db”命令可以顯示當前數據庫對象或集合,如下圖所示:

MongoDB數據庫基本概念有哪些

3、執(zhí)行“use”命令,可以連接到一個指定的數據庫。

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

MongoDB數據庫基本概念有哪些

admin:從權限的角度來看,這是“root”數據庫。要是將一個用戶添加到這個數據庫,這個用戶自動繼承所有數據庫的權限。一些特定的服務器端的命令也只能從這個數據庫運行,比如列出所有的數據庫或者關閉服務器。

local:這個數據永遠不會被復制,可以用來存儲限于本地單臺服務器的任意集合。

config:當MongoDB用于分片設置時,config數據庫在內部使用,用于保存分片的相關信息。

二、文檔

文檔是一組鍵值(key-value)對(即BSON)。MongoDB的文檔不需要設置相同的字段,并且相同的字段不需要相同的數據類型。這與關系型數據庫有很大的區(qū)別,也是MongoDB非常突出的特點。

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

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

RDBMS與MongoDB對應的術語:

MongoDB數據庫基本概念有哪些

需要注意的是:

1、文檔中的鍵/值對是有序的。

2、文檔中的值不僅可以是在雙引號里面的字符串,還可以是其他幾種數據類型(甚至可以是整個嵌入的文檔)。

3、MongoDB區(qū)分類型和大小寫。

4、MongoDB的文檔不能有重復的鍵。

5、文檔的鍵是字符串。除了少數例外情況,鍵可以使用任意的UTF-8字符。

文檔鍵命名規(guī)范:

1、鍵不能含有\(zhòng)0(空字符)。這個字符用來表示鍵的結尾。

2、.和$有特別的意義,只有在特定環(huán)境下才能使用。

3、以下劃線“_”開頭的鍵是保留的(不是嚴格要求的)。

三、集合

集合就是MongoDB文檔組,類似于RDBMS(即關系數據庫管理系統)中的表格。

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

比如,我們可以將以下不同數據結構的文檔插入到集合中:

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

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

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

合法的集合命名

1、集合名不能是空字符串“”。

2、集合名不能含有\(zhòng)0字符(空字符),這個字符表示集合名的結尾。

3、集合名不能以“system”開頭,這是為系統集合保留的前綴。

4、用戶創(chuàng)建的集合名字不能含有保留字符。有些驅動程序的確支持在集合名里面包含,這是因為某些系統生成的集合中包含該字符。除非你要訪問這種系統創(chuàng)建的集合,否則千萬不要在集合名字里面出現$。

MongoDB數據類型

數據類型

描述

String

字符串。存儲數據常用的數據類型。在 MongoDB 中,UTF-8 編碼的字符串才是合法的。

Integer

整型數值。用于存儲數值。根據你所采用的服務器,可分為 32 位或 64 位。

Boolean

布爾值。用于存儲布爾值(真/假)。

Double

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

Min/Max keys

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

Arrays

用于將數組或列表或多個值存儲為一個鍵。

Timestamp

時間戳。記錄文檔修改或添加的具體時間。

Object

用于內嵌文檔。

Null

用于創(chuàng)建空值。

Symbol

符號。該數據類型基本上等同于字符串類型,但不同的是,它一般用于采用特殊符號類型的語言。

Object ID

對象 ID。用于創(chuàng)建文檔的 ID。創(chuàng)建文檔時默認自動創(chuàng)建

Binary Data

二進制數據。用于存儲二進制數據。

Code

代碼類型。用于在文檔中存儲 JavaScript 代碼。

Regular expression

正則表達式類型。用于存儲正則表達式。

Date

日期時間。用 UNIX 時間格式來存儲當前日期或時間。你可以指定自己的日期時間:創(chuàng)建 Date 對象,傳入年月日信息。

以上就是關于“MongoDB數據庫基本概念有哪些”這篇文章的內容,相信大家都有了一定的了解,希望小編分享的內容對大家有幫助,若想了解更多相關的知識內容,請關注億速云行業(yè)資訊頻道。

向AI問一下細節(jié)

免責聲明:本站發(fā)布的內容(圖片、視頻和文字)以原創(chuàng)、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI