2022 年,Node.js 的 ORM框架应该选择哪个?

发布时间 2023-09-08 15:02:40作者: 漫思

如果项目单纯使用 js,推荐使用 sequelize,适配主流数据库,各种查询模式相对稳定,主流开源 node + js 框架(例如:egg)的数据库默认 orm 框架。

如果项目还使用了 ts,推荐使用 typeorm,同样适配主流数据库,另外有更好的类型推导,主流开源 node + ts 框架(例如:midway)的数据库默认 orm 框架。

可以关注下 prisma,相比 typeorm,类型推导上更加出色(属性查询的实体等),简洁的实体声明语法(语法高亮提示用 vscode 插件),还免费带有 可视化桌面端应用,整个生态相对比较完备。

作者:Hugo
链接:https://www.zhihu.com/question/491654284/answer/2341598298
来源:知乎
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。

这个必须推荐 prisma

1、有一套已经很成熟的 dsl,用这个dsl 描述数据之间的关系,比用底层 sql 要简单。你可以用这个 dsl 实现一个 组织 分公司,人之间的关系。 你会发现,它表述的东西,你脑子是很难直接想出来的。(这个是 orm 的核心价值,否则你自己裸建关系,那你就是用了个 query builder 了)

2、有一套用 rust 写的查询引擎。

长期看,这个引擎也能支持 brower

3、对 graphql 等支持都很完善。

4、项目所属有公司,长期应该不是太大的问题。

5、对 ts 支持超级好,现在主力维护是 ts-toolbelt 的作者 Pierre-Antoine Mills,prisma 会自动生成几乎所有的类型,会自动注入 ts-toolbelt。我学类型基本都是从 ts-toolbelt 里学的,这哥们真的厉害。(体操入门指南--ts-toolbelt)

6、自带一套简单的数据处理平台。

js 的装饰器快要出了,type-orm 可以弃了。