估计新入node的小伙伴都和我有下面相关的想法
1.不喜勿喷,轻喷,轻喷,轻喷 2.为什么与node相关的教程十有八九都是mongodb,现实中用的最多的却是mysql,是否会造成想学习服务端的前端(原本对服务端不熟悉的前端),增加学习成本 3.我个人进入node才1年左右,用过mongodb,mysql,根本操作还是会的,但是却越学越迷茫,感觉有种闭门造车的感觉,对于复杂一点的项目,使用mondodb的话,设计数据表的时候,不知从何下手,也没有案例经验可循
**课
反而**g.js 更深入我心
不用MongoDB这么显示自己这个项目最新最潮。 MongoDB吹了那么久 最后还不是三大关系数据库占首位 注意: 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相关的,故我猜测此现象产生的主要原因是:
- 前端专注与Javascript操作,缺少数据库设计能力,故Mongodb的对象操作模式完胜
- 前端对数据库设计、优化、安全等关注较少,帮习惯的用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型数据库,这个跟用什么没关系, 跟人有关系
@marsprince typeorm 了解下?
多学一个东西,成本肯定增加啊,等价交换。