求推荐个 Node.js 的 orm 轮子,看轮子都看花眼了

2021-08-10 21:09:56 +08:00
 Smash

前几天重构了一个开源的项目,还是 golang 好,orm 部分可供我选择得有限.

今天又想重构多年前读大学时写的一个小项目(当时还是 Vue+Laravel5 写的)

想试试 next.js+react 来写,用 docker 部署,可以实现一下服务端渲染,但是需要一个后端的 orm.

但是这 orm 轮子太多了,着实给我看花眼了.

一定要支持 Typescript 的类型提示的,如果轮子是纯 Typescript 写的就更好了.

6943 次点击
所在节点    程序员
38 条回复
4771314
2021-08-11 10:39:17 +08:00
@SolidZORO typeorm 的坑是有点多
EPr2hh6LADQWqRVH
2021-08-11 10:45:38 +08:00
小项目根本别用 SQL 数据库,mongodb 不香吗,为什么虐自己

大项目的那个投入和工程师能力,自己写个适合的数据层,靠谱可控
lbunderway
2021-08-11 10:51:51 +08:00
sequelize 应付 crud 完全没问题,复杂的数据统计还是要原生 sql
L1shen
2021-08-11 11:45:54 +08:00
简单的直接写 knex 也挺好的
xieren58
2021-08-11 12:09:55 +08:00
Prisma + 1
randomboi
2021-08-11 13:13:55 +08:00
@SolidZORO adonis 可以的,你用过新版吗
inhal
2021-08-11 13:20:15 +08:00
前两周试了下 Adonis 5,有 Laravel 的感觉,更早版本没用过。
Smash
2021-08-11 13:38:10 +08:00
@inhal #27 支持服务端渲染吗?还是一个纯 server 侧的框架
wowbaby
2021-08-11 14:28:09 +08:00
@SolidZORO 同意,前端更新太快,还要各种兼容,轮子太多五花八门,一句话真 TM 累!每次做项目 70%的时间是在搞前端。
dream4ever
2021-08-11 15:03:11 +08:00
@Smash GitHub 的搜索结果默认是按照“Best match”排序的,你切换成按照“Most stars”排序,typeorm 就排第一了。
dream4ever
2021-08-11 15:10:17 +08:00
@yoa1q7y
@code4you
看了看 typeorm,prisma,sequelize,这三个 repo 的 issues 都是 1200+、1300+,哈哈
inhal
2021-08-11 22:33:29 +08:00
@Smash 抱歉,我只试写了一下 server api,无法回答这个问题。
for8ever
2021-08-12 09:57:22 +08:00
推荐 prisma,最近正在使用
Smash
2021-08-13 10:53:49 +08:00
试用了 Prisma 回来了,给我一种熟悉的体验,这不就根据 schema 文件,生成对应的 orm 代码直接使用吗?

现在很多库都是这种元编程的模式来生成对应的代码,之前写 Android 的时候用过的 Glide,Dagger2

写 Golang 的时候用过的 facebook 的 ent.

缺点就是要多包一层.
XCFOX
2021-09-13 00:08:45 +08:00
提名 mikro( https://mikro-orm.io/) 一下,比 TypeOrm 强在隐式事务、自带请求作用域
ed0522
228 天前
这三个问题都不少,至少 Sequelize 和 typeorm 文档目录清晰一些,sequelize 最老,可能沉淀的好一些。
ed0522
228 天前
@ed0522 Prisma 我遇到好多问题,从安装到使用,听说融资 4000 万 USD 。。。
LEFT
227 天前
sequelize 的事务贼难用

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/794925

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX