MongoDB学习笔记(一):启程

完整的MongoDB学习笔记位于IT老兵博客

MongoDB学习笔记。

前言

先介绍一下学习MongoDB的历程。

对于MongoDB,是从14年听说的,当时大概地看了一下,没有仔细研究,

说实话,当时心里其实是有点排斥的。因为“浸淫”SQL多年(花了好些年去研究和使用MySQL、Oracle,研究各种范式,做的项目都是基于SQL的),突然出来一种NoSQL反范式设计的概念,尤其是,突然有一堆刚毕业的,完全不懂范式,没有用范式做过系统的小朋友,跟你说“SQL已经过时”的时候,内心是非常排斥的,“你们连范式都还没有搞明白,都没有做出什么有点规模的系统,居然跟我奢谈说SQL已经过时”。

此外,还有一个因素,那就是一个老程序员,对于新技术的冲击,本能的有些排斥。新技术似乎会降低我们自身的价值,这个时候,我们就变成了保守派,想捍卫一些东西—这是不可取的。

16年,在一家小公司任职,带领着团队研究新技术(小公司往往有机会去研究和使用新技术),大概看了看(看了一本好像是国人写的MongoDB的书),自以为大体是掌握了—自以为是了。

18年,开始真正要用MongoDB做一个项目,才发现之前掌握的,完全不到位。这个时候,端正了心态,踏踏实实地开始学习,到现在有了一些小的心得。

这个时候回想,如果当初不要那么浮光略影地看书,而是踏踏实实地,结合着书籍,写一些实例应用,可能会掌握得更加清楚。这样,总共加起来,花费的学习时间应该会缩短很多,有的时候,要把有的事情做到位才会有效果,正是“纸上得来终觉浅,绝知此事要躬行”。

所以,为了总结这一个过程,记录笔记来跟踪整个学习的过程,到现在为止,已经总结了几篇MongoDB的使用方式,感觉还是不足以完整地记录整个学习过程,所以,再用这种方式记录一下,串联起来。

这个笔记,计划是花一个多月的时间,争取每周输出几篇,每一篇的篇幅不会太长,根据一个统一的原则来进行每篇内容的拆分,最终达到对MongoDB的外围和内延的认识达到一个深度。总共的篇幅,暂时还不确定,达到了最终的目的为止,最后输出一个可以对学习MongoDB很有帮助的系列性的笔记。

本篇笔记,稍微啰嗦一下,现在可以理解很多书籍的前言了,这个时候总想表达一下写作的目的,中间的经历和艰辛,很多心得和感悟,从这个角度来说,本篇其实就是前言了。

准备

“工欲善其事必先利其器”,想学好MongoDB,先得选择好的学习资料。从从业十多年的经验中,我得到一个认知,“因快得慢”。举一个例子,当年快毕业,准备出去面试,需要学习linux的一些基本原理,这个时候,摆在面前的有几种资料,一种是《Linux与unix shell编程指南》,这是当时很经典的书籍,但是篇幅较长;另外一种是,速成的教程(原谅我连名字都不记得了,因为实在是没有太多的价值)。当时我果断的选择了后者,结果因为这种速成的教程往往只是讲了一些最没有价值的东西,就像快餐一样,真正有营养的东西,需要慢慢去吸收和消化。后来,其实又花了很多气力,踏踏实实地重来一遍,这样算来,第一遍花费的时间,一点都没有意义,所以,这就是计算机学习,为什么要去读经典的原理,这才是最节省时间的方式,走得越扎实,其实才是走的最快的方式。

官网,https://docs.mongodb.com/, 永远是学习的第一选择,MongoDB的手册官网做的稍微有些复杂,但是它的例子比较丰富,这对于学习起来,帮助很大。不过,官网是英文的,对于很多人来说,是有些困难的(当然,如果想成为一个好的程序员,这个困难是需要客服的)。

Stack Overflow网站,https://stackoverflow.com/, 寻找某些问题答案最好的网站,从10年开始,我已经把它看做是和官网差不多比重的资料网站了。

《MongoDB权威指南》,O’REILLY的书一般质量都还不错,当然,在京东上看看评论,找一本其他评价高的书来作为资料都是可以的。

好了,神器在手,天下我有,准备启程。