免费电子书 | MongoDB入门到实践
Posted 程序员书库
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了免费电子书 | MongoDB入门到实践相关的知识,希望对你有一定的参考价值。
都说技术在飞速发展,新技术也在不断涌现,但我认为,其实程序员所用的基础技术的发展是相对缓慢的,你可以好几年不学习但还能混得下去。令人惊讶的其实是成熟技术的被替换速度。就像在一夜之间,那些长期稳定成熟的技术发现它们不再被开发者关注。
最好的例子就是 NoSQL 技术的发展,以及它对稳定的关系型数据库市场的蚕食。那什么是NOSQL?其实它是一个很宽泛的概念,不同的人对它有不同的见解。就个人而言,我通常认为它是数据存储系统的一部分。换而言之,NoSQL的好处是让你的持久层不需要一个独立的系统。
MongoDB是最受欢迎的NoSQL数据库之一,你可能想知道MongoDB 是不是适用于这一切。作为一个面向文档数据库,MongoDB 是最通用的 NoSQL 解决方案之一。它可以看成是关系型数据库的代替方案。和关系型数据库一样,它也可以和其他的 NoSQL 解决方案案搭配在一起。关于MongoDB的一切都会在这本书提及到:
关于作者
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:\mongodb\data ,在 Linux 可能是 dbpath=/var/lib/mongodb/data。
确保你指定的 dbpath 确实存在。
执行 mongod ,带上参数 --config /path/to/your/mongodb.config 。
以 Windows 用户为例,如果你解压下载文档到 c:\mongodb\ ,并且你创建了 c:\mongodb\data\ ,那么在 c:\mongodb\bin\mongodb.config 你要指定 dbpath=c:\mongodb\data\。 然后你可以在 CMD 执行 mongod 如下命令行 c:\mongodb\bin\mongod --config c:\mongodb\bin\mongodb.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的官方文档进行学习
每周免费电子书
程序员书库每周六将推出免费电子书分享活动,不断为大家搜集免费的电子书籍,并在下载后与大家分享。如果你想要获得这本《The Little MongoDB Book》,后台输入【shuku】,即可获得。
ps.程序员书库分享的网络上免费公开的电子书或资料。出版社有版权的书籍,请支持购买正版阅读。
以上是关于免费电子书 | MongoDB入门到实践的主要内容,如果未能解决你的问题,请参考以下文章
python编程初学者指南 PDF高清完整版免费下载|百度云盘|Python入门教程免费电子书
python编程初学者指南 PDF高清完整版免费下载|百度云盘|Python入门教程免费电子书