gpt4 book ai didi

mongodb - 在服务器端依赖 GraphQL 枚举验证

转载 作者:可可西里 更新时间:2023-11-01 09:58:44 28 4
gpt4 key购买 nike

我的问题是什么是最佳实践?

我正在创建一个后端,它使用 GraphQL 作为 API,并将 MongoDB 作为数据存储。我知道 graphql 验证查询,特别是接收到的枚举。我的问题是依赖 GraphQL 输入枚举验证是否足够或者我是否还应该在数据库级别添加验证。

我问这个是因为这似乎是一种不好的做法,而且是不必要的代码重复。您将在两个地方定义可能的枚举类型,一个在 GraphQL 模式中,一个在 MongoDB 模型中。

例如:

gql 架构:
enum EyeColor {<br/> BROWN <br/> BLUE <br/> GREEN <br/>}

Mongoose 模型:
new mongoose.Schema({ <br/> eyeColor: { type: String, enum: ["BROWN", "BLUE", "GREEN"] }<br/>});

我错过了什么吗?有没有更好的方法来使用/在 GraphQL 或 MongoDB 中声明枚举?或者也许只依赖 GraphQL 就可以了?

最佳答案

就“最佳实践”而言,它确实取决于您的数据库将来如何使用:它是否直接与您的 GraphQL 服务器耦合(并且只能通过该 GraphQL API 访问)?那么也许就不需要复制那个枚举检查了。

但是,如果完全有可能甚至可能不通过 GraphQL 就可以访问 Mongo(例如,通过 future 的模块或服务访问您的 mongoose 函数),那么您将希望在 mongoose 级别保护数据模型,因为好吧。

关于mongodb - 在服务器端依赖 GraphQL 枚举验证,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43015926/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com