a亚洲精品_精品国产91乱码一区二区三区_亚洲精品在线免费观看视频_欧美日韩亚洲国产综合_久久久久久久久久久成人_在线区

首頁 > 數(shù)據(jù)庫 > MongoDB > 正文

十天掌握MongoDB之一:初識MongoDB

2020-03-14 13:23:29
字體:
供稿:網(wǎng)友

說到MongoDB,必須先從NoSQL說起。NoSQL(NoSQL = Not Only SQL) ,意即反SQL運(yùn)動,是一項全新的數(shù)據(jù)庫革命性運(yùn)動,早期就有人提出,發(fā)展至2009 年趨勢越發(fā)高漲。NoSQL的擁護(hù)者們提倡運(yùn)用非關(guān)系型的數(shù)據(jù)存儲,相對于目前鋪天蓋地的關(guān)系型數(shù)據(jù)庫運(yùn)用,這一概念無疑是一種全新的思維的注入。

NoSQL 數(shù)據(jù)庫特點

優(yōu)點:高并發(fā)讀寫、海量數(shù)據(jù)存儲、高可擴(kuò)展性及高可用性。

缺點:缺乏事務(wù)一致性、缺乏讀寫實時性及不支持復(fù)雜查詢。

NoSQL數(shù)據(jù)庫類型

1、key-value

Key指向Value的鍵值對,通常用hash table來實現(xiàn)。

產(chǎn)品:Tokyo Cabinet/Tyrant、Redis、Voldemort、Oracle BDB等。

2、列式數(shù)據(jù)庫

以列簇式存儲,將同一列數(shù)據(jù)存在一起。

產(chǎn)品:Cassandra、HBase、Riak等。

3、文檔型數(shù)據(jù)庫

Key-Value對應(yīng)的鍵值對,Value為結(jié)構(gòu)化數(shù)據(jù)。

產(chǎn)品:CouchDB、MongoDB等。

4、圖結(jié)構(gòu)數(shù)據(jù)庫

以“圖”為基本存儲模型。

產(chǎn)品:Neo4J、InfoGrid、Infinite Graph等。

MongoDB簡介

MongoDB是一個基于分布式文件存儲的數(shù)據(jù)庫。由C++語言編寫。旨在為WEB應(yīng)用提供可擴(kuò)展的高性能數(shù)據(jù)存儲解決方案。

MongoDB是一個介于關(guān)系數(shù)據(jù)庫和非關(guān)系數(shù)據(jù)庫之間的產(chǎn)品,是非關(guān)系數(shù)據(jù)庫當(dāng)中功能最豐富,最像關(guān)系數(shù)據(jù)庫的。他支持的數(shù)據(jù)結(jié)構(gòu)非常松散,是類似json的bson格式,因此可以存儲比較 復(fù)雜的數(shù)據(jù)類型。Mongo最大的特點是他支持的查詢語言非常強(qiáng)大,其語法有點類似于面向?qū)ο蟮牟樵冋Z言,幾乎可以實現(xiàn)類似關(guān)系數(shù)據(jù)庫單表查詢的絕大部分功能,而且還支持對數(shù)據(jù)建立索引。

MongoDB數(shù)據(jù)架構(gòu)

十天掌握MongoDB之一:初識MongoDB

MongoDB

數(shù)據(jù)庫命名規(guī)范

1.任意UTF-8字符串;

2.不能是空字符串;

3.不得包含以下字符:(空格)、.、$、/、/、/0;

4.長度不得超過64字節(jié);

5.保留字:admin、local、config等;

集合命名規(guī)范

1.任意UTF-8字符串;

2.不能是空字符串;

3.不能包含/0、$;

4.不能以system.開頭;

文檔命名規(guī)范

1.任意UTF-8字符串;

2.不能是空字符串;

3.不能包含/0、$;

4.不能以_開頭;

MongoDB的數(shù)據(jù)類型

MongoDB底層使用Bson來維護(hù)數(shù)據(jù),Bson是一種二進(jìn)制下的類似于Json的數(shù)據(jù)格式。MongoDB中值得一說的有以下幾個數(shù)據(jù)類型:基本數(shù)據(jù)類型、數(shù)組、文檔嵌套及ObjectId。

MongoDB的基本數(shù)據(jù)類型

null
bool true、false
數(shù)字 僅支持64位浮點數(shù),其他類型的數(shù)字會自動轉(zhuǎn)化為此格式
字符串 支持UTF-8字符集
日期 存儲標(biāo)準(zhǔn)紀(jì)元開始的毫秒數(shù),不含時區(qū)
regex 符合JavaScript語法的正則表達(dá)式
code 任何JavaScript代碼
binary 可存儲任意字節(jié)數(shù)的字節(jié)數(shù)組,但在Shell中無法使用
數(shù)組 對象集合或列表在MongoDB可以被存儲為數(shù)組
嵌套文檔 一個文檔可以包含另外一個文檔

MongoDB的

MongoDB 中的數(shù)組既可以作為有序?qū)ο?如列表)來操作,也可以作為無序?qū)ο?如集合)來操作。 MongoDB可以以原子操作的形式來修改或刪除數(shù)組中的元素。

例如:

{

// 這個不是數(shù)組

"Status" : 0,

// 這個是空數(shù)組

"Messages" : [],

// 包含3個元素的數(shù)組

"ResponseBody" : [

"h010t00101025",

"h010t00101039",

"h010t00101040“

]

}

MongoDB的文檔嵌套

文檔式存儲的特色就是允許文檔對象的嵌套,這能夠使我們的實體數(shù)據(jù)在 MongoDB 的存在形式更加自然。

例如:

// 根文檔

{

"Status" : 0,

// 嵌套文檔

"ResponseBody" : {

"CityName" : "北京",

"Keyword" : "釣魚臺",

// 再套一個數(shù)組,數(shù)組的每個元素又是文檔,NB吧!

"Landmarks" : [

{ “Name” : “北京釣魚臺國際旅行社” },

{ "Name" : "釣魚臺“ }

]

}

}

MongoDB的objectid

ObjectId是_id (_id 是 MongoDB 在每個文檔中的默認(rèn)唯一標(biāo)識的名稱) 的默認(rèn)類型。

發(fā)表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發(fā)表
主站蜘蛛池模板: 亚洲精品中文字幕中文字幕 | 男女视频在线免费观看 | 免费观看黄色一级大片 | 亚洲一区二区三区四区五区中文 | 国产精品久久久久久久久久东京 | 在线免费观看的www视频 | 欧美大片在线看免费观看 | 日本久久久亚洲精品 | 99精品一级欧美片免费播放 | 日本视频网址 | 欧美精品网站 | 久99久在线| 日韩精品一区二区三区中文字幕 | 91亚洲国产成人久久精品网站 | 欧美涩| 成人不卡| 国产成人在线一区二区 | 中文字幕精品视频在线观看 | 中文字幕免费在线观看 | 日韩精品免费在线视频 | 在线视频中文字幕 | 色吧久久 | 色8久久| 成人免费视频一区二区 | 午夜精品一区二区三区免费视频 | 在线播放www | 日韩一区二区福利 | 99爱在线观看 | 女人久久久 | 久久色网 | 精品国产髙清在线看国产毛片 | 亚洲 精品 综合 精品 自拍 | 久久久久久久久久久成人 | 国产第一区在线观看 | 一本一道久久a久久精品综合蜜臀 | 久久国产精品99久久久久久牛牛 | 91麻豆久久久 | 骚黄视频 | 99精品国产在热久久 | 亚洲视频免费观看 | 一级一级特黄女人精品毛片 |