摘要:文檔是的核心概念,文檔是操作數(shù)據(jù)庫(kù)的最小單元。等你了解這這些命令或者函數(shù),你再嘗試在腳本代碼中操作數(shù)據(jù)庫(kù),你會(huì)發(fā)現(xiàn)這種非常容易上手。
MongoDB 系列文章:
MongoDB 的 yum 安裝
MongoDB 的命令操作
MongoDB 的編程操作
在介紹 MongoDB 的具體操作和使用之前,有必要介紹一些 MongoDB 的基本概念,有了這些基礎(chǔ)和知識(shí)鋪墊,后面的操作,才會(huì)掌握的更扎實(shí),理解的更透徹。
MongoDB 數(shù)據(jù)庫(kù)跟關(guān)系數(shù)據(jù)庫(kù)不太一樣,有三個(gè)基本概念:文檔,集合和庫(kù)。分別對(duì)應(yīng)于關(guān)系數(shù)據(jù)庫(kù)的記錄、表和庫(kù)。庫(kù)一定有一個(gè)磁盤文件來(lái)對(duì)應(yīng)。MongoDB 數(shù)據(jù)庫(kù)把文檔存在集合中。集合中的文檔,不需要有相同的結(jié)構(gòu),每個(gè)文檔都可以有不同的結(jié)構(gòu)。這使得 MongoDB 比傳統(tǒng)的 RDBMS 更靈活,因?yàn)槟悴挥妙A(yù)先定義結(jié)構(gòu)。
文檔是 MongoDB 的核心概念,文檔是操作數(shù)據(jù)庫(kù)的最小單元。首先,看看文檔長(zhǎng)啥樣子吧。文檔其實(shí)就是 JavaScript 中的對(duì)象字面量,也就是鍵值對(duì)。正是因?yàn)?MongoDB 的文檔就是 JavaScript 中的對(duì)象字面量,所以,MongoDB 才成為 Node.js 應(yīng)用開發(fā)的首選數(shù)據(jù)庫(kù)系統(tǒng),因?yàn)樗浅:?jiǎn)單和直觀,非常容易上手。
下面通過(guò)幾個(gè)文檔的例子,來(lái)介紹文檔的規(guī)則:
文檔的鍵/值對(duì)是有序的,內(nèi)容相同,但順序不同的鍵/值對(duì)是不同的文檔;
{ "greeting": "hello world", "foo": 3 } { "foo": 3, "greeting": "hello world" }
文檔中的值不僅可以使雙引號(hào)的字符串,還可以是其他數(shù)據(jù)類型,例如:整數(shù)、null、布爾值、浮點(diǎn)數(shù)、二進(jìn)制數(shù)據(jù)、數(shù)組,代碼,等等,甚至可以是嵌入的文檔;
{ "null": null, "boolean": true, "integer": 32, "string": "hello", "float": 3.14, "date": new Date(), "code": function() { console.log("hello"); }, "array": [1, 3, 5, 7] }
文檔的鍵是字符串,除了極少數(shù)情況,鍵可以使任意 utf-8 字符;
鍵不能含 0(空字符),這個(gè)字符用來(lái)表示鍵的結(jié)尾;
. 和 $ 有特別的意義,一般情況下不建議使用;
下劃線開頭的鍵是保留的,一般情況下不建議使用;
文檔中的鍵/值不但區(qū)分類型,還區(qū)分大小寫;
{ "foo": 3 } { "foo": "3" } { "foo": 3 } { "Foo": 3 }
文檔中不能用重復(fù)的鍵;
{ "greeting": "hello world", "greeting": "hello MongoDB" }
下面介紹一下基本的 Shell 操作,在 MongoDB 的數(shù)據(jù)庫(kù)中完成文檔的增、刪、改、查四個(gè)操作。等你了解這這些命令或者函數(shù),你再嘗試在 JavaScript 腳本代碼中操作數(shù)據(jù)庫(kù),你會(huì)發(fā)現(xiàn)這種 API 非常容易上手。
$ mongo > use todo # 切換數(shù)據(jù)庫(kù),如果數(shù)據(jù)庫(kù)不存在則創(chuàng)建,有則切換 > db # 查看當(dāng)前的數(shù)據(jù)庫(kù) > db.todo.insert(data) # 在 todo 集合中插入數(shù)據(jù),數(shù)據(jù)是上面介紹的一個(gè)合法的文檔 # 例如: > db.todo.insert({"item": "play football"}) > db.todo.find() # 返回集合中的所有文檔 > db.todo.findOne() # 返回集合中的一個(gè)文檔 > db.todo.update(old, new) # 將舊文檔換成新文檔 > db.todo.remove(old) # 刪除舊文檔
更多的命令用法,請(qǐng)參考文檔:MongoDB 基本操作
小結(jié):
其實(shí) Shell 的 API 和 JavaScript 編程的 API 完全相同,增、刪、改、查,就是四個(gè)單詞,insert, remove, update, find。
如果這個(gè)文章對(duì)你有用,請(qǐng)點(diǎn)贊并收藏!
文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請(qǐng)注明本文地址:http://specialneedsforspecialkids.com/yun/19179.html
摘要:安裝全過(guò)程環(huán)境基本情況我是在電腦下安裝的系統(tǒng)位,這個(gè)也是導(dǎo)致我安裝的時(shí)候出現(xiàn)異常提示,原因可能是的版本是位的,我應(yīng)該再找一個(gè)位的,但事實(shí)上我找不到。 簡(jiǎn)述 之前講了一些關(guān)于MongoDB的知識(shí),出人意料的受歡迎,也讓我很吃驚,所以今天打算分享一些我在自己計(jì)算機(jī)的虛擬機(jī)的centos系統(tǒng)下安裝MongoDB的經(jīng)歷,希望感興趣的你們?cè)诎惭bMongoDB的時(shí)候出現(xiàn)問(wèn)題可以來(lái)看看我是怎么安裝的...
摘要:安裝全過(guò)程環(huán)境基本情況我是在電腦下安裝的系統(tǒng)位,這個(gè)也是導(dǎo)致我安裝的時(shí)候出現(xiàn)異常提示,原因可能是的版本是位的,我應(yīng)該再找一個(gè)位的,但事實(shí)上我找不到。 簡(jiǎn)述 之前講了一些關(guān)于MongoDB的知識(shí),出人意料的受歡迎,也讓我很吃驚,所以今天打算分享一些我在自己計(jì)算機(jī)的虛擬機(jī)的centos系統(tǒng)下安裝MongoDB的經(jīng)歷,希望感興趣的你們?cè)诎惭bMongoDB的時(shí)候出現(xiàn)問(wèn)題可以來(lái)看看我是怎么安裝的...
摘要:安裝全過(guò)程環(huán)境基本情況我是在電腦下安裝的系統(tǒng)位,這個(gè)也是導(dǎo)致我安裝的時(shí)候出現(xiàn)異常提示,原因可能是的版本是位的,我應(yīng)該再找一個(gè)位的,但事實(shí)上我找不到。 簡(jiǎn)述 之前講了一些關(guān)于MongoDB的知識(shí),出人意料的受歡迎,也讓我很吃驚,所以今天打算分享一些我在自己計(jì)算機(jī)的虛擬機(jī)的centos系統(tǒng)下安裝MongoDB的經(jīng)歷,希望感興趣的你們?cè)诎惭bMongoDB的時(shí)候出現(xiàn)問(wèn)題可以來(lái)看看我是怎么安裝的...
閱讀 3152·2021-09-30 09:47
閱讀 2003·2021-09-22 16:04
閱讀 2274·2021-09-22 15:44
閱讀 2534·2021-08-25 09:38
閱讀 540·2019-08-26 13:23
閱讀 1221·2019-08-26 12:20
閱讀 2808·2019-08-26 11:59
閱讀 1077·2019-08-23 18:40