2024 年 6 月 25 日

隆重推出 Prisma ORM 5.16.0 模型字段的全局省略功能!

探索 Prisma ORM 5.16.0 中强大的新功能,它允许您全局或局部省略查询中的特定字段。无论您是需要确保敏感信息(如密码)永不泄露,还是希望为单个查询简化数据检索,Prisma ORM 都能满足您的需求。在本篇博文中,通过代码示例和指导,了解如何增强您的数据管理。

An image describing a new feature with Prisma ORM version 5.16.0. It shows a User model with a password field that is omitted. Text reads "globally or locally omit fields returned by Prisma Client queries"

随着 Prisma ORM 5.16.0 的发布,我们很高兴推出一种从 Prisma Client 查询中全局省略字段的方式!这项备受期待的功能直接受到了社区通过 GitHub 问题反馈以及对我们最初实现 omitApi 预览功能的反馈的影响。非常感谢所有帮助我们持续开发此功能的人!

我们相信此次发布有助于开发者更好地平衡性能、用户体验与安全、隐私的需求。请继续阅读,了解我们如何利用此功能简化查询结果中敏感数据的管理。

在 Prisma ORM 5.16.0 中省略字段

借助最初随 Prisma ORM 5.13.0 发布的 omitApi 预览功能,您现在可以在查询中或在 Prisma Client 初始化时,与现有 select 功能一起 omit(省略)字段。您可以选择全局省略字段,例如用户密码,或者根据每个查询定义要省略的字段,例如并非所有视图都需要的字段。现在,只将前端所需的数据发送给它比以往任何时候都容易。

如何全局省略字段

在 Prisma Client 初始化时,您可以将字段标记为“省略”。这意味着对于该 Prisma Client 实例上的任何查询,这些字段将永远不会返回。例如,您可以初始化 Prisma Client 并始终 omit(省略)用户密码。

如果您想重新包含全局省略的字段,可以在单个查询级别覆盖此设置

如何局部省略字段

最初在 Prisma ORM 5.13.0 中发布的 omitApi 预览功能的每查询版本也可用。此功能允许您在每查询级别 omit(省略)字段,类似于您使用 select 的方式。

现在,您可以灵活地全局省略某个字段,或仅在特定情况下选择它,反之亦然!

何时省略字段

既然有了两种省略字段的方法,最常见的问题是“我应该何时使用哪种方法?”

如果您关注安全或敏感信息泄露,大多数情况下会希望使用全局省略。这将确保新编写的查询不会无意中包含敏感数据。一个很好的应用场景是始终省略用户密码。

然而,如果您关注数据优化,您会希望使用局部省略。这将允许您在大多数查询中继续使用模型上的所有字段,然后在关注数据传输量时精简模型。例如,如果您的表格中每列的数据量都相对较小,但有一列包含大量 JSON 或 Blob 数据,您可以轻松排除该列,这样您的应用程序就不必为每个请求传输所有这些数据。

我们期待您持续的反馈!

全局省略字段的能力是我们最受期待的功能,我们很高兴将其包含在 5.16.0 版本中。如果您有任何反馈,请随时添加到我们的专门 GitHub 讨论中。目前为止,我们已经就 omitApi 预览功能进行了很多精彩的讨论,我们很高兴能继续这些讨论。

不要错过下一篇文章!

订阅 Prisma 新闻通讯

© . All rights reserved.