内容简介:都说技术在飞速发展,新技术也在不断涌现,但我认为,其实程序员所用的基础技术的发展是相对缓慢的,你可以好几年不学习但还能混得下去。令人惊讶的其实是成熟技术的被替换速度。就像在一夜之间,那些长期稳定成熟的技术发现它们不再被开发者关注。最好的例子就是 NoSQL 技术的发展,以及它对稳定的关系型数据库市场的蚕食。那什么是NOSQL?其实它是一个很宽泛的概念,不同的人对它有不同的见解。就个人而言,我通常认为它是数据存储系统的一部分。换而言之,NoSQL的好处是让你的持久层不需要一个独立的系统。
都说技术在飞速发展,新技术也在不断涌现,但我认为,其实 程序员 所用的基础技术的发展是相对缓慢的,你可以好几年不学习但还能混得下去。令人惊讶的其实是成熟技术的被替换速度。就像在一夜之间,那些长期稳定成熟的技术发现它们不再被开发者关注。
最好的例子就是 NoSQL 技术的发展,以及它对稳定的关系型数据库市场的蚕食。那什么是NOSQL?其实它是一个很宽泛的概念,不同的人对它有不同的见解。就个人而言,我通常认为它是数据存储系统的一部分。换而言之,NoSQL的好处是让你的持久层不需要一个独立的系统。
MongoDB是最受欢迎的NoSQL数据库之一,你可能想知道 MongoDB 是不是适用于这一切。作为一个面向文档数据库,MongoDB 是最通用的 NoSQL 解决方案之一。它可以看成是关系型数据库的代替方案。和关系型数据库一样,它也可以和其他的 NoSQL 解决方案案搭配在一起。关于MongoDB的一切都会在这本书提及到:
本书大部分篇幅会用来关注的MongoDB的核心功能,从基础概念到掌握查找、数据建模以及性能和 工具 等,而且这本书已经有中文、俄语、意大利语、西班牙语、日语和德语的翻译。(中文GitHub地址: https://github.com/ilivebox/the-little-mongodb-book/blob/master/zh-cn/mongodb.markdown)
关于作者
Karl Seguin 在多领域有着丰富经验,他是 .NET 和 Ruby 的开发专家。他也参与贡献 OSS 项目, 还是技术文档撰写人而且偶尔做做演讲。MongoDB 方面,他是 C# MongoDB 库 NoRM 的核心开发者,写有互动入门教程 mongly 和 Mongo Web Admin。他用 MongoDB,为休闲游戏开发者写了一个免费服务, mogade.com。Karl 还编写了 《The Little Redis Book 1》
下面我们详细了解一下这本书都为读者讲解了哪些内容:
MongoDB安装
MongoDB 很容易安装和运行,只需要花几分钟把所有的东西运行起来。
先打开官方下载页面 ,从你选择的操作系统下面的第一行(推荐稳定版本)下载二进制文件。根据开发实际,你可以选择 32位 或者 64位。
解压缩文件 (随便你放哪) 然后进入 bin 子目录。现在还不要执行任何命令,只要记住 mongod 用来打开服务进程,mongo 打开客户端 shell - 大部分时间我们将要使用这两个命令。
在 bin 子目录下创建一个文本文件,命名为 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 确实存在。
执行 mongod ,带上参数 --config /path/to/your/mongodb.config 。
以 Windows 用户为例,如果你解压下载文档到 c:mongodb ,并且你创建了c:mongodbdata ,那么在 c:mongodbinmongodb.config 你要指定dbpath=c:mongodbdata。 然后你可以在 CMD 执行 mongod 如下命令行c:mongodbinmongod --config c:mongodbinmongodb.config。
现在你的MongoDB应该已经安装好并可以运行起来了,现在你可以执行 mongo (没有 d) ,链接 shell 到你的服务器上了。尝试输入 db.version() 来确认所有都正确执行了。你应该能拿到一个已安装的版本号。
阅读路线
除了前面介绍的MongoDB安装,还包括以下章节:
第一章:基础知识
这一章能让你掌握学习MongoDB所必须的基础知识,介绍了 insert 和 remove 命令 (完整版也没比我们介绍的多什么)。 我们还介绍了 find 以及了解了 MongoDB selectors 是怎么一回事。
第二章 - 更新
本章中我们介绍了集合的基本 CRUD 操作。我们详细讲解了 update 及它的三个有趣的行为。 首先,如果你传 MongoDB 一个文档但是不带更新操作, MongoDB 的 update 会默认替换现有文档。因此,你通常要用到 $set 操作 (或者其他各种可用的用于修改文档的操作)。 其次, update 支持 upsert 操作,当你不知道文档是否存在的时候,非常有用。 最后,默认情况下, update 只更新第一个匹配文档,因此当你希望更新所有匹配文档时,你要用 multi 。
第三章 - 掌握查询
本章让你更加熟练使用 mongo shell 以及理解 MongoDB 的基本原则,还讲了一些我们后面章节会用到的或是非常特殊情况才用的命令。
第四章 - 数据建模
本章目标是提供一些对你在 MongoDB 中数据建模有帮助的指导,让你体会在一个面向文档系统中建模,和在面向关系世界中建模,是不一样的,但也没多少不同。
第五章 - MongoDB 适用场景
本章主要围绕MongoDB适用的场景展开,大多数情况下,可以取代关系型数据库。它更简单更直接;更快速并且通常对应用开发者的约束更少。
第六章 - 数据聚合
在这章中我们介绍了 MongoDB 的 聚合功能(aggregation capabilities)。 一旦你理解了聚合管道(Aggregation Pipeline)的构造,它还是相对容易编写的,并且它是一个聚合数据的强有力工具。 MapReduce 更难理解一点,不过它强力无边,就像你用 JavaScript 写的代码一样。
第七章 - 性能和工具
在这章中我们介绍了 MongoDB 的各种命令,工具和性能细节。我们没有涉及所有的东西,不过我们已经把常用的都看了一遍。MongoDB 的索引和关系型数据库中的索引非常类似,其他一些工具也一样。不过,在 MongoDB 中,这些更易于使用。
写在最后
本书被许多读者作为MongoDB的入门书,通过本书,你可以掌握将MongoDB运用到实际项目的能力,当然,MongoDB的知识远不止这些,如果可以,还应该配合MongoDB的官方文档进行学习
以上就是本文的全部内容,希望本文的内容对大家的学习或者工作能带来一定的帮助,也希望大家多多支持 码农网
猜你喜欢:- 京东电子书 - 阅读优化
- 《Flutter 实战》开源电子书
- 电子书 NoSQL精粹.pdf
- 开始一本开源电子书《Kubernetes指南》
- 开源电子书项目FBReader初探(一)
- 开源电子书项目FBReader初探(二)
本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们。
The Sovereign Individual
James Dale Davidson、William Rees-Mogg / Free Press / 1999-08-26 / USD 16.00
Two renowned investment advisors and authors of the bestseller The Great Reckoning bring to light both currents of disaster and the potential for prosperity and renewal in the face of radical changes ......一起来看看 《The Sovereign Individual》 这本书的介绍吧!