惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

P
Privacy International News Feed
CTFtime.org: upcoming CTF events
CTFtime.org: upcoming CTF events
Jina AI
Jina AI
T
Tailwind CSS Blog
WordPress大学
WordPress大学
Scott Helme
Scott Helme
C
Cybersecurity and Infrastructure Security Agency CISA
博客园 - Franky
C
CERT Recently Published Vulnerability Notes
cs.AI updates on arXiv.org
cs.AI updates on arXiv.org
雷峰网
雷峰网
Schneier on Security
Schneier on Security
博客园 - 聂微东
T
Tor Project blog
Hugging Face - Blog
Hugging Face - Blog
博客园 - 司徒正美
AI
AI
T
Troy Hunt's Blog
Security Latest
Security Latest
T
The Blog of Author Tim Ferriss
cs.CV updates on arXiv.org
cs.CV updates on arXiv.org
C
Check Point Blog
T
Threat Research - Cisco Blogs
W
WeLiveSecurity
V
Vulnerabilities – Threatpost
Recorded Future
Recorded Future
Recent Commits to openclaw:main
Recent Commits to openclaw:main
Cisco Talos Blog
Cisco Talos Blog
C
CXSECURITY Database RSS Feed - CXSecurity.com
Cloudbric
Cloudbric
J
Java Code Geeks
罗磊的独立博客
C
Cyber Attacks, Cyber Crime and Cyber Security
aimingoo的专栏
aimingoo的专栏
L
LangChain Blog
freeCodeCamp Programming Tutorials: Python, JavaScript, Git & More
P
Privacy & Cybersecurity Law Blog
Google DeepMind News
Google DeepMind News
Threat Intelligence Blog | Flashpoint
Threat Intelligence Blog | Flashpoint
让小产品的独立变现更简单 - ezindie.com
让小产品的独立变现更简单 - ezindie.com
L
Lohrmann on Cybersecurity
I
InfoQ
MongoDB | Blog
MongoDB | Blog
OSCHINA 社区最新新闻
OSCHINA 社区最新新闻
The GitHub Blog
The GitHub Blog
The Hacker News
The Hacker News
H
Help Net Security
钛媒体:引领未来商业与生活新知
钛媒体:引领未来商业与生活新知
P
Proofpoint News Feed
N
News and Events Feed by Topic

Node.js

告别 Django Admin!这个 NodeJS 全栈框架让你在 DTO 中直接配置 Table/Form 渲染 Bun 用 Rust 重写的 PR 已合并到主分支 TanStack 最新版本被投毒,病毒会盗密钥和报复性删除用户目录 Bun 从 Zig 到 Rust 的迁移已经实锤,下个版本可能成为最后一个 Zig 版本 bun 要从 zig 迁移 rust 了, 100 万刀被 claude 收购了,开始影响语言决策了 - V2EX JS/Node 已经是新时代的 Java 了吧 Node.js 服务大部分时候连阿里云 Redis 是正常的,但是又时候会突然报 read ECONNRESET? - V2EX 2026 年, node 写后端你用的 nestjs, fastify, honojs 还是其他? npmmirror 竟然有些包没有更新到最新版本 大家 typescript 下用的最多的是后端框架是哪个? 求助,大家 node.js 是怎么代理的 ai 时代, node.js 成为核心语言 NestJS + Swagger UI:非 200 状态码 Execute 时返回值不显示问题 深入 alova3 服务端能力:分布式 BFF 层到 API 网关的最佳实践 - V2EX Anthropic 收购 Bun 关于 Node.js 中的事件循环问题。 - V2EX Hoa - 一个极简 Web 框架 有没有 v 友遇到 windows10 丢失系统环境变量的问题 Esbuild 进程占用高 有没有推荐的 Nodejs 的 sass 多租户系统 2025 年 node 项目,乱成一锅粥的 typescript ESM import 写法该怎么选? [EvanNav 6.3.1] 如何删除加载页面,让 Nav 更符合你的需求⁉️ 删除 node_modules 文件夹非常耗时 Node.JS 作者 Ryan Dahl 的故事 Vona ORM 文档终于肝完了,欢迎拍砖 Node.js 官网更新了 adonisjs 有没有现成的注册登录库? 现在流行的 Node.js 做后台比传统的 Java .Net 有哪些优势? 现在大家开发 api 都用什么 node 框架?有没有想 rails 一样,功能齐全的框架? Prisma 不能优雅的支持 DTO,可以试试 Vona ORM 比 prisma studio 更好性能的类 studio 数据管理 node 怎么获取剪切板中复制的文件信息 写了个 js 小工具库, 希望大家给点建议 NodeJS 阿里云服务器,经常遇到整个服务器卡死,系统盘读操作被占满 不用继承就能给类加事件系统?这波原型链操作我给满分 做了一个函数式、带类型、超顺手的微型事件库,已发布到 npm 告别 Node.js 工具链地狱: Bun 如何让 MCP Server 开发效率翻 3 倍 - V2EX redis 集群模式支持批量操作库 mget/mset 吐槽一下 bun node.js 有什么比较好用的微信 sdk - V2EX nodejs 后端,怎么比较好的生成接口文档?(排除 nest.js) - V2EX Cherry Studio 只用 bun.exe 怎么绕过去? 把 node.js 程序打包成可执行文件,不过只有 10M - V2EX 前端包管理工具调研 - V2EX 请问下 JavaScript 的 CustomEvent 和自己手搓的发布订阅哪个更快效率更好? 同样是运行 npm run build 打包程序 cursor 比 hbx 慢 1000 倍 从零开始开发一个 MCP Server! 现在还有人 eggjs 吗? - V2EX TypeScript7.0 用 go 重写, 10 倍快,看了两遍确定是真的... - V2EX 做了几个扩展,顺便整理了一下开源了一个浏览器扩展开发模版 prisma 运行 migrate 命令之后,总会把其他不相关的表给删除 问个页面跳转访问方案 求助! v 友们求推荐靠谱的 node.js 学习及面试网站和视频 大家正使用哪个 node 版本,会保持用最新版吗? 请教大家一个在 hono.js 中使用 ts 的类型兼容性问题
😂😂浪费了 3 天时间尝试在新项目中使用 prisma,最后还是决定回到 typeorm - V2EX
flyingcrp · 2025-05-15 · via Node.js

这是一个创建于 395 天前的主题,其中的信息可能已经有所发展或是发生改变。

第 1 条附言  ·  2025 年 5 月 16 日

subframe75361

1

subframe75361      2025 年 5 月 15 日 via Android

试试 kysely ,sql 的写法。或者用更火但 dx 差一些的 drizzle orm

yaodong0126

2

yaodong0126      2025 年 5 月 15 日

😂你还真别说,迷信 prisma 的人多的一腿

ultimate42

3

ultimate42      2025 年 5 月 15 日

我是从 typeorm 转到 prisma 的,prisma 确实有不少痛点,时区,联表查嵌套层级深什么的,但感觉开发体验上,prisma 还是要好一点

857681664

4

857681664      2025 年 5 月 15 日

同样 delete 一个不存在的数据也会报错,官方解决方案说是用 executeRaw..

qiubaowei

5

qiubaowei      2025 年 5 月 15 日

还好我是守旧派 一直用 sequelize

flmn

7

flmn      2025 年 5 月 15 日

drizzle 比较好

BeautifulSoap

8

BeautifulSoap      2025 年 5 月 15 日

也借地方顺便也让大家避坑一个 ORM:千万不要用 drizzle ,千万不要用 drizzle ,千万不要用 drizzle

Hbisedm

9

Hbisedm      2025 年 5 月 15 日

drizzle

SolidZORO

11

SolidZORO      2025 年 5 月 15 日

说一个小众 ORM https://sutando.org/ ,底层是 knex ,进可 ORM ,退可 knex RAW 。

之所以是说而不是推荐,因为实在太小众,推荐的话实在担不起这个责任,只想让更多人知道它。sutando 作者维护不算积极,total 就两人维护,start 几十,但是手感是我用过所有 ORM 里面最好的,基本上做到了 1:1 对标 Laravel 的 Eloquent ,用起来及其优雅。比堪称是 nodejs 届 Laravel 的 adonisjs 自带强耦合的 lucid 还要想像 Eloquent 。

y1s1 Node 这边的 ORM 真是烂得可以。drizzle 烂。Prisma 烂,typeORM 烂中烂。

唯一能打一下的是 sequelize ,的确是可靠了,但是及其啰嗦,TS 支持太差(我是说第三方,第一份约等于没有),以及无止境的 beta 让人又爱又恨。

BeautifulSoap

13

BeautifulSoap      2025 年 5 月 15 日

@asen001 真用了那就用嘛,也不是不能用,反正之前写 drizzle 我是真的火大
官方文档写得一塌糊涂,看起来很正规但有用的信息基本没多少
schema 一堆特性不支持,连最基本的 index desc asc, union index 都不支。到最后不光要写 schema 还要自己去写额外的 migration sql
类型检查基于 schema 定义,如果我 select 的字段里掺杂了动态生成自动的内容(比如 COUNT(*)之类)的话,过类型检查能折腾死人
执行 raw sql 并且获取到返回值而且要过类型检查比登天都难
等等等等,反正下次项目里谁跟我说用 drizzle 我跟谁急

12tall

14

12tall      2025 年 5 月 15 日

knex 应该是用的最舒服的了,虽然只是一个 builder

flyingcrp

16

flyingcrp      2025 年 5 月 15 日

目前应该是在 typeorm 中暂时不打算出去了。
prisma 在构建和打包时也会有很多问题。不设置 binary 的话会直接多 30M+的大小。很离谱。
然后里面还有一个奇怪的地方,当前 prisma 已经让用自定义 output 路径去做 client 的引入。
但是底层似乎有依赖了 prisma ,这个里面有个 public 文件夹,里面全是一些文档还是啥的。也是三十多 M.

justdoit123

17

justdoit123      2025 年 5 月 15 日

也尝试使用 prisma ,说说我觉得的痛点与疑惑,希望有经验的解答下:

1. prisma 不生成 class ,如何进一步跟 class-validator 以及 swagger 结合?
2. 不生成 class ,如果我有很简单的 computed field ,就不知道怎么实现。虽然官方有 [Client extension]( https://www.prisma.io/docs/orm/prisma-client/queries/computed-fields#using-a-prisma-client-extension) 方案,但是 extend 后的 model 类型获取不直接。虽然可以通过类型体操获取。
3. 个人对滥用 DSL 很反感。DB 的 schema 真的到了需要叠一层 DSL 的程度了吗? 我个人认为还没必要,这样做的收益不高。为了“无缝”切换 DB 类型吗?正常项目开发不会频繁切换 DB 类型,况且也无法做到无缝。 想要降低使用 DB 的门槛吗?熟悉一个 DB 真的是后端的基础门槛,你虽然可以暂时欠着,但是终究要还上,借助 DSL 会很被动,学的都是人家嚼碎了喂你的东西。prisma 用 DSL 描述 schema 的理由,我能想到的唯一理由应该就是他们的野心是实现一个跨语言的 ORM 。

ByteCat

18

ByteCat      2025 年 5 月 15 日

在用 drizzle ,感觉很爽,可以写类似 sql 的语法,复杂查询很方便

Belmode

20

Belmode      2025 年 5 月 15 日

我就觉得用 Prisma 能省点事,不用写一堆像 TypeOrm 中那样的实体对象,写很多注解

cutchop

22

cutchop      2025 年 5 月 15 日

typescript 挺好的,不知道为什么 prisma 要发明新的格式

rocmax

23

rocmax      2025 年 5 月 15 日 via Android

@BeautifulSoap
1. 文档的问题确实存在,过于简略,需要自己摸索
2.这些都支持啊,我一看还以为这是以前旧帖子呢。drizzle 基本就是把 ts 翻译成 sql ,这种一个关键字就解决的问题怎么会不支持。没有听说过 union index ,你是指复合索引吗,也支持的啊。union 操作倒是不支持是由于类型推断困难,不重视类型安全的可能会支持。
3. 类型检查当然要基于 schema 定义了,要不咋办? count (*)可以使用 sql<number>标注类型
4. 同上,你不给类型标注,数据库返回的是 text ,不得按类型 parse 吗。

rocmax

24

rocmax      2025 年 5 月 15 日 via Android

@cutchop 跟 drizzle 比起来 prisma 的 schema 确实简单好懂,我一个简单项目 drizzle schema 都快 1000 行了,除了我自己没人能看懂,估计也没人有耐心看完,幸好有 visualizer 。

k9982874

27

k9982874      2025 年 5 月 15 日 via iPad

用不上那些高大上的 orm 功能,转到了 postgres.is
楼上推荐的 Kysely ,感觉比较像 gorm ,有空试试

BeautifulSoap

28

BeautifulSoap      2025 年 5 月 15 日

@rocmax
2. 你自己试试看 mysql 的 schema 里能不能指定 asc 或者 desc 的 index 吧。postgresql 可以,但是 mysql 不行的。并且 mysql 的复合索引文档里根本找不到怎么用
4. 这个你自己亲自写一下就知道了。就最简单的用 drizzle 执行 mysql 的 `show tables` 然后解析出所有表格。保证你一写一个不吱声。官方文档里只写了怎么执行 raw sql 但对怎么获取到 raw sql 的返回值只字不提。最后花了 N 久时间才找到解决办法

Trim21

31

Trim21      2025 年 5 月 16 日

现在在用 drizzle ,但是感觉维护者对 mysql 相关的特性不太重视 ...

ratazzi

32

ratazzi      2025 年 5 月 16 日

正在用 prisma 看了这帖子怕了,typeorm 简单试过一下,看到生成的 SQL 之后果断放弃,现在我对 JS 写 CRUD 一点兴趣都没了

flydogs

33

flydogs      2025 年 5 月 16 日 via iPhone

三天时间不算浪费,至少你知道了不适合你现在这个项目。

zieglar

34

zieglar      2025 年 5 月 16 日

@justdoit123 #17
我的做法是新建一个 class 来继承 prisma 对应的实体 class ,在新建的自有 class 的基础上去做各种字段装饰、处理操作

flyingcrp

35

flyingcrp      2025 年 5 月 16 日

@Hanggi 我确实有可能没有完全理解 prisma 的设计思想。但在业务侧开发中我提到的那些问题,确实是实打实的极大的降低了开发效率和提高了心智负担。如果所有业务都是 CRUD ,prisma 的设计似乎也完全不考虑要实际开发的便利性。最简单的就是 update,delete 没有的数据会直接 Error ,这就引出了多一层 db 和 prisma 的心智负担。这种负担或者说设计让业务侧失去了便利性; model 的 relations 在实际开发中,尤其是 query 场景就几乎不可能把关系定义的完,也不可能依赖这种形式去定义。

BeautifulSoap

38

BeautifulSoap      2025 年 5 月 16 日

@rocmax 你的这个写法,当用 mysql 的时候将会见到这样一副情景🤦‍♂️

实际上真正 mysql 下能正常过类型检查并且正确执行的代码差不多这样的,堪称和类型检查还有工具斗智斗勇

至于动态的 count ,我说的不是这种简单情景,比如我想 select 出一个表所有字段,然后再添加一个 count 或者其他动态字段,我必须在 select 中再手动写一遍所有字段(下图 q )。啥,照着官方文档 ...User 这样写?照着官文档写连类型检查都过不去(下图 q2)

说真的,用了这么多 typescript 的包,头一次遇到 drizzle 这种无时无刻不在花时间跟类型检查斗智斗勇的包🤦‍♂️

0x4b0082

39

0x4b0082      2025 年 5 月 16 日

不是很喜欢他又自己引入一套 schema 语言 所以尝试了一次就丢弃了。

rocmax

40

rocmax      2025 年 5 月 16 日 via Android

@BeautifulSoap 这是两个事情,上面那个 sql<T>的类型标注是给 ts 侧看的不负责处理数据,你要根据实际返回的数据格式来标注给 ts ,数据本身是不用处理的。
下面那个用了 cast 所以没办法推断类型,应该在后面加一个 map With 做处理。
playground 没有 MySQL ,我有空搭个环境试试。

rocmax

41

rocmax      2025 年 5 月 16 日 via Android
qingjin

42

qingjin      2025 年 5 月 16 日

还好吧,目前没遇到坑,用的挺香

BeautifulSoap

43

BeautifulSoap      2025 年 5 月 16 日

@rocmax 主要是 `...User` 这个用法是官方文档就这么写的🤦‍♂️
https://orm.drizzle.team/docs/select#count

cast 是我复制错代码了,复制成了上面 Aggregations 部分的内容了。不过问题不大,我想吐槽的点不在 cast 上,还是出在...User 报错上。

FlashEcho

45

FlashEcho      2025 年 5 月 17 日

prisma 需要一个二进制文件,感觉特别不好,我试用了一下就转 drizzle 了

FlashEcho

46

FlashEcho      2025 年 5 月 17 日

@BeautifulSoap #13 虽然我主力用 drizzle ,但是 drizzle 的文档确实很垃圾,而且感觉现在的 LLM 对于 drizzle 的理解不是很好

zhennann

48

zhennann      2025 年 8 月 5 日

1. Vona ORM 支持“临时或一次性的连表查询”
2. Vona ORM 支持“自动推断生成 DTO”。Prisma 不能优雅的支持 DTO 。如果不能像推断类型一样自动推断出 DTO ,那么,我们就仍然需要手工创建 DTO 。随着业务的增长,复杂的表间关系会让手工补充 DTO 的工作日益繁重。而 Vona ORM 就解决了这个痛点问题: https://www.v2ex.com/t/1150216