CNode

node的orm

问答
Xxwadh发布于7 年前最后回复7 年前23 回复7902 浏览0 收藏

请问在做node项目时操作数据库使用orm有什么好的推荐吗或者好的项目,可以分享下,谢谢

查看回复

回复 (23)

X
xwadh#1·7 年前

我之前一直是手写的sql,考虑到注入问题被大家一直诟病,所以在找新的解决方案,最近在了解sequelieze

T
TimLiu1#3·7 年前

sequelieze不错

J
jyk0011#4·7 年前

其实ORM和防止注入没啥关系, 不管用啥ORM,都要面对如何写sql的问题。 只不过使用ORM后,把这个锅甩给了ORM。 MySQL的驱动不是自带防止注入的功能吗?

S
sunNode#5·7 年前

sequelieze 这个 ORM 不好,很多报错莫名奇怪

Z
zuohuadong#6·7 年前
引用 TimLiu1sequelieze不错

@TimLiu1 你这也是没看过 typeorm 吧

https://typeorm.io/#/ 右上角切换语言~

还有个比较牛皮的 :

https://www.prisma.io/

C
CaanDoll#7·7 年前

js就sequelize ts就typeorm

W
waitingsong#8·7 年前
引用 xwadh我之前一直是手写的sql,考虑到注入问题被大家一直诟病,所以在找新的解决方案,最近在了解sequelieze

@xwadh 如果你不喜欢 orm 可以考虑 query builder 。比如 knex。 正在扩展一个 基于 knex 的轮子。

Z
zy445566#9·7 年前
引用 xwadh我之前一直是手写的sql,考虑到注入问题被大家一直诟病,所以在找新的解决方案,最近在了解sequelieze

@xwadh 手写sql也没问题啊,预编译不就好了。 就是有些场景手写也不是很方便,比如批量插入啥的。 本人现在就是简单的查询,更新,删除以及插入和批量插入用ORM,其他情况手写SQL。

T
TimLiu1#10·7 年前
引用 zuohuadong@TimLiu1 你这也是没看过 typeorm 吧 https://typeorm.io/ / 右上角切换语言 还有个比较牛皮的 : https://www.prisma.io/

@zuohuadong 你简单的说一下优点,解决的痛点问题,然后我认真去看一下。

Z
zuohuadong#11·7 年前
引用 TimLiu1@zuohuadong 你简单的说一下优点,解决的痛点问题,然后我认真去看一下。

@TimLiu1 链接都发给你了,咋能懒到这地步? 你用不用跟我有关系么?

M
mapleincode#12·7 年前

轮子月的 Toshihiko 考虑下,虽然没 Sequelieze 功能多,却功能简化很多。

M
mapleincode#13·7 年前

轮子月的 Toshihiko 考虑下,虽然没 Sequelieze 功能多,却功能简化很多。

http://docs.toshihikojs.com/en/latest/

T
TimLiu1#14·7 年前
引用 zuohuadong@TimLiu1 链接都发给你了,咋能懒到这地步? 你用不用跟我有关系么?

@zuohuadong 最主要是对你没信任度啊,周围的人都没接触过,你推荐的你要解释啊,这是一个互相成长的圈子

Z
zuohuadong#15·7 年前
引用 TimLiu1@zuohuadong 最主要是对你没信任度啊,周围的人都没接触过,你推荐的你要解释啊,这是一个互相成长的圈子

@TimLiu1 别人说再多也没用,自己对比就知道了。 另外,typeorm 是 ts 写的~

X
xwadh#17·7 年前
引用 zuohuadong@xwadh 去了解下 typeorm ,比 seq 好用100倍

@zuohuadong typeorm的话需要去搞ts那套了吧

Z
zuohuadong#20·7 年前
引用 xwadh@zuohuadong typeorm的话需要去搞ts那套了吧

@xwadh 也支持 js ,但 ts 装饰器非常好用。 image.png

相关试用: https://ruiming.me/typeorm-worth-a-try/

W
waitingsong#21·7 年前

@xwadh @zuohuadong 新鲜出炉的轮子来了了欢迎食用: https://www.npmjs.com/package/kmore 基于 Knex 扩展了一点功能: 从 DB 表类型中提取表名创建表名对象,用于快速访问表。当然也支持手写 raw sql (db.dbh == knex)。 文档

Z
zuohuadong#22·7 年前
引用 waitingsong@xwadh @zuohuadong 新鲜出炉的轮子来了了欢迎食用: https://www.npmjs.com/package/kmore 基于 Knex 扩展了一点功能: 从 DB 表类型...

@waitingsong 用 ts ,又不用装饰器,真的很别扭。~

顺便推荐个 : prisma ,以及我们在做的 magnus 自动生成....

https://github.com/notadd/magnus

W
waitingsong#23·7 年前
引用 zuohuadong@waitingsong 用 ts ,又不用装饰器,真的很别扭。 顺便推荐个 : prisma ,以及我们在做的 magnus 自动生成.... https://github.com/nota...

@zuohuadong 看了下 prisma , 很强大。

至于装饰器,不同业务场景有不同需求。 我们的核心项目一百多库表,需求是:

  • 单表可快速访问
  • (数十)多表连接可能需要手写 sql
  • 不允许自动化 DDL,任何表结构变化必须手动执行。

对于单表访问用不上装饰器,多表复杂关联手写sql更是连orm都不可能用(被 mybits 的实体类坑过)。 目前觉得 query builder 应该更适合些。

参与回复
登录后即可参与回复。登录