关于nodejs生态的ORM选择
发布于 7 年前 作者 nihaoit 6274 次浏览 来自 分享

最近花了很多时间选择ORM 主要体验了sequelize和bookshelfjs,感觉bookshelfjs更好,理由如下:

sequelize的文档很晦涩

直接看的官网原版文档,晦涩的意思是,新手跟着文档的说明走一遍常常得到错误的结果。我是遇到好几次很莫名的结果,没有时间看源代码,所以就放弃了!

bookshelfjs文档更好理解

boookshelfjs的文档名单明快多了,至少跟着文档走,都可以走出正确的结果,看看国外用户的活跃度也很高。

bookshelfjs基于的knexjs的migration很好用

核心还是文档好和活跃度吧,另外感觉ORM对提升效率很重要的,所以分享一下,给正在选择ORM的同学一些启发。有更好的推荐或者意见请留言,O(∩_∩)O~~

18 回复

一直在用,推荐koahub-mysql基于bookshelf

来自 KoaHub.js

typeorm,mongorito

来自酷炫的 CNodeMD

@einsqing 谢谢推荐,认真学习一下

@zaaack 谢谢推荐

@einsqing 去github上star了,持续关注,加油

@zaaack 很像用 typeorm(喜欢 用ts 写 node),但是它好像没有办法像sequelize 一样自动生成表格的结构啊,全都得手写

综合考量之后 bookshelf 是最好用的

sequelize ,文档庞大,丰富很有好处,以后难免会有你需要的功能在内的。。不觉得文档有什么问题。。

sequelize 挺好的,我也是从官方文档上一个个demo跑起来的,也没什么问题。目前migration还没怎么玩会。 另外 bookshelf 居然不支持sqlserver,差评

@ilovedesert001 可以的吧,只要autoSchemaSync : true

我也觉得sequelize第一次使用一点问题没有,例子很友好 而且很详细,现在改版了

@rwing 我想要的是从 mysql 的数据库同步结构到 model 文件,不是model -> mysql 同步, 也就是,我喜欢 mysql 的各种设计工具,不想再用代码手写一遍

@ilovedesert001 呃 好吧。。那确实没有。。。不过我喜欢从 code 到数据库,有个词叫 code first

@rwing 從java年代hibernate我就討厭這種,因為出來的表通常不是最優解,別說DBA,就連我自己都看不下去。

@captainblue2013 我的做法是先出来个大概,之后自己小调整。miggration 我不用

回到顶部