为什么与node相关的教程十有八九都是mongodb,现实中用的最多的却是mysql,是否会造成想学习服务端的前端(原本对服务端不熟悉的前端),增加学习成本
发布于 6 年前 作者 1134506391 4902 次浏览 来自 问答

估计新入node的小伙伴都和我有下面相关的想法

1.不喜勿喷,轻喷,轻喷,轻喷 2.为什么与node相关的教程十有八九都是mongodb,现实中用的最多的却是mysql,是否会造成想学习服务端的前端(原本对服务端不熟悉的前端),增加学习成本 3.我个人进入node才1年左右,用过mongodb,mysql,根本操作还是会的,但是却越学越迷茫,感觉有种闭门造车的感觉,对于复杂一点的项目,使用mondodb的话,设计数据表的时候,不知从何下手,也没有案例经验可循

**课

1537318352(1).png 1537318447(1).png

反而**g.js 更深入我心

1537318582(1).png

21 回复

不用MongoDB这么显示自己这个项目最新最潮。 MongoDB吹了那么久 最后还不是三大关系数据库占首位 10_30_01__09_19_2018.jpg 注意: y轴是指数轴 1 10 100 1000标注的 MySQL/Oracle/MSSQL的值大概 1100左右 MongoDB 才 350+

mysql好用很多

mongodb 和 mysql 是用在不同场景的,跟你用不用 Node 没关系。

绝大部分的 Node 教程都只教 mongodb 的原因,我猜测是:

  • 讲起来简单,不需要跟你讲数据库设计啥的,一个 JSON 走天下
  • 目前 Node 的使用场景,很多创业公司追求短平快,用 mongodb 这类的 NOSQL 会比较敏捷。

另外不要以为 mongodb 好学,想学好也不容易,

关注下 ServerLess 之类的东西会有惊喜喔,如蚂蚁刚推出的 Basement 云,如腾讯的小程序云,如老牌的 firebase,leadcloud

@atian25 说到点子上了

3楼的第一点很重要,node的很多教程都是hello word级别的,点到即止的那种。

根据不同的场景来选择不同的数据库,跟使用Node本身没关系。但在实际过程中后端偏向于Mysql,前端偏向于Mongodb,而市面上大部分教程都是Mongodb相关的,故我猜测此现象产生的主要原因是:

  1. 前端专注与Javascript操作,缺少数据库设计能力,故Mongodb的对象操作模式完胜
  2. 前端对数据库设计、优化、安全等关注较少,帮习惯的用Mongodb做为入门学习的实践 …

@hankewins 估计摆脱不了,后端同学眼中切图仔的定位

@1134506391 现在很多公司都在采用前后端分离,得益于React、Vue、Angular等MVVM的发展以及Node做为中件层(代理 ),前端的地位和定位也是提高了很多。

@hankewins 都是二线往上的公司,小公司没有中间层的,大前端的趋势是有一点,但是我感受到的更多是大杂烩,多而不精

用什么数据库都是一样的哦。 公司要求用mysql就用mysql 公司要求用mongobd就用mongodb

至于你说的nodejs为什么用mongodb 这个只是为了录制教程好录制一些吧。

nodejs会操作mongodb会了的话,操作mysql也是一样的。但是前提是你得会mysql语法。

mysql教程很多。只要会开发思路 什么数据库都是一样的

=。= TIDB neo4j 呢,说出这些来,你们是不是更懵逼了。 数据库嘛,不就是方便存东西么,怎么简单怎么来。我就没录过 mongodb 的。一直没怎么用过 mongodb ,最近用了 Parse 才用的 mongodb 做存储。

把 mongodb 理解为一个 大的 object 就行了。

mongodb业务建模速度快

MongoDB是文档型数据库,MySQL是关系型数据库,两个没有可比性。 换言之,硬生生用MongoDB来存储关系型数据结构,查询起来很麻烦,深度populate效率也很差;如果用MySQL把一个多层级的复杂对象文档存起来就需要把每一层结构打平,非常麻烦。 做项目建模的时候看项目特点偏向于哪种模型,比如CRM就最好用关系型数据库,CMS就最好用文档型数据库。 企业里都是会同时使用多种数据库的,如果你只是存键值对,Redis的效率秒杀MySQL,但并不是说MySQL就是垃圾,擅长领域不一样。

哇原来有人跟我有一样的疑惑

最近小程序出了个云开发,就想试着写一下 然而我直接只会一点简单的mysql,小程序那个很明显就是mongo,刚好我又想要一个多对多的关系,没用过mongo的反而凌乱。。。。

另外egg的文档真的感觉对前端友好,被科普了好多概念。。。

来自酷炫的 CNodeMD

@atian25 感觉套路都是差不多的, serverless是一个大趋势吗? 就像hybrid那样

你用就知道了, sequelize难用的一匹马,和java这种语言框架成熟度不是一个量级的,教程要是教你这个,你当场就吐血换其他语言了

为什么是因为考虑前端转过来不熟悉后端概念的情况下, 成本最低概念最少最简单的是mongo 而当你熟悉概念过后, 应该是要学习一些通用的服务的, 比如消息队列rpc数据库等, 关系型非关系型这些都是跑不掉的(前提是你想变优秀) 只要你是认真学了…成本并不会特别高 然后我也见过设计得跟shit一样的sql型数据库,这个跟用什么没关系, 跟人有关系

多学一个东西,成本肯定增加啊,等价交换。

回到顶部