自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

免費(fèi)電子書|MongoDB入門到實(shí)踐

數(shù)據(jù)庫 其他數(shù)據(jù)庫 MongoDB
都說技術(shù)在飛速發(fā)展,新技術(shù)也在不斷涌現(xiàn),但我認(rèn)為,其實(shí)程序員所用的基礎(chǔ)技術(shù)的發(fā)展是相對(duì)緩慢的,你可以好幾年不學(xué)習(xí)但還能混得下去。令人驚訝的其實(shí)是成熟技術(shù)的被替換速度。就像在一夜之間,那些長(zhǎng)期穩(wěn)定成熟的技術(shù)發(fā)現(xiàn)它們不再被開發(fā)者關(guān)注。

 都說技術(shù)在飛速發(fā)展,新技術(shù)也在不斷涌現(xiàn),但我認(rèn)為,其實(shí)程序員所用的基礎(chǔ)技術(shù)的發(fā)展是相對(duì)緩慢的,你可以好幾年不學(xué)習(xí)但還能混得下去。令人驚訝的其實(shí)是成熟技術(shù)的被替換速度。就像在一夜之間,那些長(zhǎng)期穩(wěn)定成熟的技術(shù)發(fā)現(xiàn)它們不再被開發(fā)者關(guān)注。

[[251617]]

最好的例子就是 NoSQL 技術(shù)的發(fā)展,以及它對(duì)穩(wěn)定的關(guān)系型數(shù)據(jù)庫市場(chǎng)的蠶食。那什么是NOSQL?其實(shí)它是一個(gè)很寬泛的概念,不同的人對(duì)它有不同的見解。就個(gè)人而言,我通常認(rèn)為它是數(shù)據(jù)存儲(chǔ)系統(tǒng)的一部分。換而言之,NoSQL的好處是讓你的持久層不需要一個(gè)獨(dú)立的系統(tǒng)。

MongoDB是最受歡迎的NoSQL數(shù)據(jù)庫之一,你可能想知道MongoDB 是不是適用于這一切。作為一個(gè)面向文檔數(shù)據(jù)庫,MongoDB 是最通用的 NoSQL 解決方案之一。它可以看成是關(guān)系型數(shù)據(jù)庫的代替方案。和關(guān)系型數(shù)據(jù)庫一樣,它也可以和其他的 NoSQL 解決方案案搭配在一起。關(guān)于MongoDB的一切都會(huì)在這本書提及到:

本書大部分篇幅會(huì)用來關(guān)注的MongoDB的核心功能,從基礎(chǔ)概念到掌握查找、數(shù)據(jù)建模以及性能和工具等,而且這本書已經(jīng)有中文、俄語、意大利語、西班牙語、日語和德語的翻譯。(中文GitHub地址:https://github.com/ilivebox/the-little-mongodb-book/blob/master/zh-cn/mongodb.markdown)

關(guān)于作者

[[251618]]

Karl Seguin 在多領(lǐng)域有著豐富經(jīng)驗(yàn),他是 .NET 和 Ruby 的開發(fā)專家。他也參與貢獻(xiàn) OSS 項(xiàng)目, 還是技術(shù)文檔撰寫人而且偶爾做做演講。MongoDB 方面,他是 C# MongoDB 庫 NoRM 的核心開發(fā)者,寫有互動(dòng)入門教程 mongly 和 Mongo Web Admin。他用 MongoDB,為休閑游戲開發(fā)者寫了一個(gè)免費(fèi)服務(wù), mogade.com。Karl 還編寫了 《The Little Redis Book 1》

下面我們?cè)敿?xì)了解一下這本書都為讀者講解了哪些內(nèi)容:

MongoDB安裝

MongoDB 很容易安裝和運(yùn)行,只需要花幾分鐘把所有的東西運(yùn)行起來。

先打開官方下載頁面 ,從你選擇的操作系統(tǒng)下面的第一行(推薦穩(wěn)定版本)下載二進(jìn)制文件。根據(jù)開發(fā)實(shí)際,你可以選擇 32位 或者 64位。

解壓縮文件 (隨便你放哪) 然后進(jìn)入 bin 子目錄?,F(xiàn)在還不要執(zhí)行任何命令,只要記住 mongod 用來打開服務(wù)進(jìn)程,mongo 打開客戶端 shell - 大部分時(shí)間我們將要使用這兩個(gè)命令。

在 bin 子目錄下創(chuàng)建一個(gè)文本文件,命名為 mongodb.config。

在 mongodb.config 中添加一行:dbpath=PATH_TO_WHERE_YOU_WANT_TO_STORE_YOUR_DATABASE_FILES。比如,在 Windows 你可以寫 dbpath=c:mongodbdata ,在 Linux 可能是dbpath=/var/lib/mongodb/data。

確保你指定的 dbpath 確實(shí)存在。

執(zhí)行 mongod ,帶上參數(shù) --config /path/to/your/mongodb.config 。

以 Windows 用戶為例,如果你解壓下載文檔到 c:mongodb ,并且你創(chuàng)建了c:mongodbdata ,那么在 c:mongodbinmongodb.config 你要指定dbpath=c:mongodbdata。 然后你可以在 CMD 執(zhí)行 mongod 如下命令行c:mongodbinmongod --config c:mongodbinmongodb.config。

現(xiàn)在你的MongoDB應(yīng)該已經(jīng)安裝好并可以運(yùn)行起來了,現(xiàn)在你可以執(zhí)行 mongo (沒有 d) ,鏈接 shell 到你的服務(wù)器上了。嘗試輸入 db.version() 來確認(rèn)所有都正確執(zhí)行了。你應(yīng)該能拿到一個(gè)已安裝的版本號(hào)。

閱讀路線

除了前面介紹的MongoDB安裝,還包括以下章節(jié):

第一章:基礎(chǔ)知識(shí)

這一章能讓你掌握學(xué)習(xí)MongoDB所必須的基礎(chǔ)知識(shí),介紹了 insert 和 remove 命令 (完整版也沒比我們介紹的多什么)。 我們還介紹了 find 以及了解了 MongoDB selectors 是怎么一回事。

第二章 - 更新

本章中我們介紹了集合的基本 CRUD 操作。我們?cè)敿?xì)講解了 update 及它的三個(gè)有趣的行為。 首先,如果你傳 MongoDB 一個(gè)文檔但是不帶更新操作, MongoDB 的 update 會(huì)默認(rèn)替換現(xiàn)有文檔。因此,你通常要用到 $set 操作 (或者其他各種可用的用于修改文檔的操作)。 其次, update 支持 upsert 操作,當(dāng)你不知道文檔是否存在的時(shí)候,非常有用。 最后,默認(rèn)情況下, update 只更新第一個(gè)匹配文檔,因此當(dāng)你希望更新所有匹配文檔時(shí),你要用 multi 。

第三章 - 掌握查詢

本章讓你更加熟練使用 mongo shell 以及理解 MongoDB 的基本原則,還講了一些我們后面章節(jié)會(huì)用到的或是非常特殊情況才用的命令。

第四章 - 數(shù)據(jù)建模

本章目標(biāo)是提供一些對(duì)你在 MongoDB 中數(shù)據(jù)建模有幫助的指導(dǎo),讓你體會(huì)在一個(gè)面向文檔系統(tǒng)中建模,和在面向關(guān)系世界中建模,是不一樣的,但也沒多少不同。

第五章 - MongoDB 適用場(chǎng)景

本章主要圍繞MongoDB適用的場(chǎng)景展開,大多數(shù)情況下,可以取代關(guān)系型數(shù)據(jù)庫。它更簡(jiǎn)單更直接;更快速并且通常對(duì)應(yīng)用開發(fā)者的約束更少。

第六章 - 數(shù)據(jù)聚合

在這章中我們介紹了 MongoDB 的 聚合功能(aggregation capabilities)。 一旦你理解了聚合管道(Aggregation Pipeline)的構(gòu)造,它還是相對(duì)容易編寫的,并且它是一個(gè)聚合數(shù)據(jù)的強(qiáng)有力工具。 MapReduce 更難理解一點(diǎn),不過它強(qiáng)力無邊,就像你用 JavaScript 寫的代碼一樣。

第七章 - 性能和工具

在這章中我們介紹了 MongoDB 的各種命令,工具和性能細(xì)節(jié)。我們沒有涉及所有的東西,不過我們已經(jīng)把常用的都看了一遍。MongoDB 的索引和關(guān)系型數(shù)據(jù)庫中的索引非常類似,其他一些工具也一樣。不過,在 MongoDB 中,這些更易于使用。

寫在最后

本書被許多讀者作為MongoDB的入門書,通過本書,你可以掌握將MongoDB運(yùn)用到實(shí)際項(xiàng)目的能力,當(dāng)然,MongoDB的知識(shí)遠(yuǎn)不止這些,如果可以,還應(yīng)該配合MongoDB的官方文檔進(jìn)行學(xué)習(xí)

責(zé)任編輯:龐桂玉 來源: 今日頭條
相關(guān)推薦

2011-03-28 15:57:03

Python

2012-11-28 11:33:46

Windows Ser

2020-06-09 11:15:29

Linux命令行電子書

2019-02-18 14:20:54

電子書下載網(wǎng)站開發(fā)

2019-09-17 09:34:29

Docker書籍GitHub

2018-11-12 15:40:46

MySQL數(shù)據(jù)庫電子書

2018-06-08 08:50:51

微軟機(jī)器人 AI

2011-06-27 13:17:56

Java

2018-02-23 20:30:16

2020-03-03 15:17:45

Linux電子書命令

2013-06-14 10:13:06

PythonPython電子書Python教程

2021-11-29 06:18:28

電子郵件郵件安全網(wǎng)絡(luò)安全

2019-12-16 11:12:48

開源技術(shù) 數(shù)據(jù)

2012-03-20 09:43:11

Boogie Boar

2011-02-01 17:54:23

蘋果應(yīng)用商店索尼

2018-06-08 16:39:53

機(jī)器學(xué)習(xí)數(shù)據(jù)科學(xué)書籍

2009-06-12 16:52:49

2020-06-15 18:20:37

Fedora電子書開源

2018-12-20 08:00:00

2011-12-13 14:43:29

51CTO
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)