有啥方法可以在 Prisma 中使用嵌套对象处理数组?
Posted
技术标签:
【中文标题】有啥方法可以在 Prisma 中使用嵌套对象处理数组?【英文标题】:Is any way to work arrays with nested objects in Prisma?有什么方法可以在 Prisma 中使用嵌套对象处理数组? 【发布时间】:2020-03-07 17:03:20 【问题描述】:我是 Prisma 的新手,我已阅读文档并做过一些小项目。
现在我在一个建筑应用程序的大项目中,但我遇到了它的架构问题。正如您在下面看到的,我有一个名为 GraphicColumn 的类型,在那里我保存了 Architectural 模型的某些列的数据,但是每种模型的列数可能会有所不同,并且这些列有多个数据条目要保存,所以我正在尝试做下一件事:
type GraphicColumn
id: ID! @id
data: [
column: Int!
columnData: [Float]
]
如您所见,在对象中,它将是指定列的编号和该列的数据值,因此它是第 1 列的对象和它的数据的 Int 值,等等为第 2 列、第 3 列开启...
每个模型的列数可能在 4 到 6 列之间变化,但我在运行数据定义时遇到错误 棱镜部署。错误信息如下:
ERROR: Syntax error while parsing GraphQL query. Invalid input "\n id: ID! @id\n name: String!g\n", expected IgnoredNoComment, ImplementsInterfaces, DirectivesConst or FieldDefinitions (line 1, column 11):
type User
^
"data":
"deploy": null
,
"errors": [
"locations": [
"line": 2,
"column": 9
],
"path": [
"deploy"
],
"code": 3017,
"message": "Syntax error while parsing GraphQL query. Invalid input \"\\n id: ID! @id\\n name: String!g\\n\", expected IgnoredNoComment, ImplementsInterfaces, DirectivesConst or FieldDefinitions (line 1, column 11):\ntype User \n ^",
"requestId": "local:ck2sd5dbg000i0773z3pkpwx9"
],
"status": 200
你知道我该如何替换它吗 一些有效的定义?
【问题讨论】:
【参考方案1】:您要做的是将 GraphicColumn 类型链接到一个或多个 ColumnData 类型。这是一个关系,有一定的语法
关系定义了两种类型之间连接的语义。 关系中的两种类型通过关系字段连接。
您使用关系语法描述的嵌套数据可能如下所示:
type GraphicColumn
id: ID! @id
data: [ColumnData!]! @relation(link: TABLE, name: "GraphicColumnData")
type ColumnData
id: ID! @id
column: Int!
columnData: [Float]
有关数据建模和架构设计的更多信息,您可以查看: https://www.prisma.io/docs/datamodel-and-migrations/datamodel-mysql-knul/#relations
【讨论】:
以上是关于有啥方法可以在 Prisma 中使用嵌套对象处理数组?的主要内容,如果未能解决你的问题,请参考以下文章
使用 Prisma + MongoDB + GraphQL 的嵌套关系返回 null
Prisma 嵌套创建引发未知 arg 错误,而 prisma 示例工作