時(shí)間:2024-02-04 13:45作者:下載吧人氣:25
了解Mongodb之前先了解一下NoSQL,NoSQL是Not Only SQL的縮寫。由提供缺乏SQL關(guān)系數(shù)據(jù)庫的嚴(yán)格限制模型的存儲(chǔ)和檢索技術(shù)組成。主要是簡化設(shè)計(jì)、水平擴(kuò)展以及對(duì)數(shù)據(jù)的可用性進(jìn)行更精細(xì)的控制。NoSQL有多種技術(shù)例如:Redis的鍵值結(jié)構(gòu)、HBase的列結(jié)構(gòu)等。
Mongodb也是NoSQL的一種。它基于的文檔模型把數(shù)據(jù)對(duì)象作為一個(gè)集合中單獨(dú)的文檔來存儲(chǔ)。用它來提供高性能、高可用性和自動(dòng)擴(kuò)展的數(shù)據(jù)存儲(chǔ)。
Mongodb通過使用集合將數(shù)據(jù)分組在一起。集合僅僅是一組具有相同或類似用途的文檔。集合類似于傳統(tǒng)SQL數(shù)據(jù)庫的表。只是集合不執(zhí)行嚴(yán)格的模式,同一集合中的文檔可以具有彼此略微不同的結(jié)構(gòu)。
文檔是Mongodb數(shù)據(jù)庫中單個(gè)數(shù)據(jù)實(shí)體的表示。SQL的行數(shù)據(jù)是平坦的,行中的每個(gè)值都有一個(gè)列。在Mongodb中文檔可以包含嵌入子文檔,從而為應(yīng)用程序提供更密切的內(nèi)在數(shù)據(jù)模型。在Mongodb中代表文檔的記錄被存儲(chǔ)為BSON,這是JSON的一個(gè)輕量級(jí)的二進(jìn)制形式。它的字段/值對(duì)應(yīng)于Javascript的屬性和值。同時(shí)在MongoDB中文檔的最大大小是16MB。這可以防止RAM使用過量或?qū)ξ募到y(tǒng)產(chǎn)生劇烈沖擊。
此外,文檔的字段名不能包含(null)字符、句點(diǎn)(.)或美元符號(hào)($)._id字段名是為對(duì)象的ID保留的。該_id字段是系統(tǒng)中的一個(gè)唯一的ID,它由以下幾個(gè)部分組成:
Mongodb為每一種數(shù)據(jù)類型分配了從1到255的整數(shù)ID號(hào),可使用它來按類型查詢。
類型 | 說明 | 編號(hào) |
---|---|---|
Double | 雙精度數(shù)值 | 1 |
String | 字符串 | 2 |
Object | 對(duì)象 | 3 |
Array | 數(shù)組 | 4 |
Binary data | 二進(jìn)制數(shù)據(jù) | 5 |
Object id | 對(duì)象ID | 7 |
Boolean | 布爾值 | 8 |
Date | 日期 | 9 |
Null | 空值 | 10 |
Regular Expression | 正則表達(dá)式 | 11 |
JavaScript | Javascript | 13 |
Symbol | 符號(hào) | 14 |
JavaScript(with scope) | Javascript(帶作用域) | 15 |
32-bit intger | 32位整數(shù) | 16 |
Timestamp | 時(shí)間戳 | 17 |
64-bit integer | 64位整數(shù) | 18 |
Min Key | 最小值 | 255 |
Max Key | 最大值 | 127 |
當(dāng)比較不同的BSON類型的值時(shí),Nongodb使用下面的比較順序從最低到最高:
到此這篇關(guān)于MongoDB數(shù)據(jù)庫基礎(chǔ)的文章就介紹到這了。希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持。
網(wǎng)友評(píng)論