我正在努力学习这个youtube教程。
我在插入第一段数据时陷入了困境。Ania在20.46演示如下:
mutation insertGenres {
action: insertreference_list(value: {label: "genre", value: "action"}) {
value{
value
},
}
当我尝试这个时,我得到一个错误,上面写着:
{
"errors": [
{
"message": "Validation error of type FieldUndefined: Field 'insertreference_list' in type 'Mutation' is undefined @ 'insertreference_list'",
"locations": [
{
"line": 2,
"column": 3
}
],
"extensions": {
"classification": "ValidationError"
}
}
]
}
当我在谷歌上搜索这个错误时,很多回复都告诉人们使用突变而不是查询——但我是从突变开始的。我想知道如何解决这个错误,但我也想找到一些技巧来改进我的搜索策略,以找到答案。
当我查看将GraphQL与DataStax一起使用的文档时,我看到了与写入结构不同的格式,如下所示:
insertbook(值:bookInput!,ifNotExists:Boolean,选项:UpdateOptions(:bookMutationResult
它后面有一个冒号和一段文本。它还显式地声明ifNotExists:Boolean和选项。我不知道自从Ania录制教程以来,如何使用DataStax是否发生了变化,这意味着它不再是如何使用该工具的当前演示,或者是否有答案,我只是还没有找到。
您没有提供如何为Ania的Netflix克隆教程配置Astra DB的详细信息,所以我假设您已将密钥空间命名为netflix
。
你似乎没有正确遵循说明,错过了步骤。如果我跳过教程中的至少一个步骤,我可以复制您报告的错误。
在教程的第5步中,您需要执行以下操作:
✅在graphQL游乐场中,将选项卡更改为现在使用
graphql
。编辑URl的末尾,将system
更改为密钥空间的名称:netflix
✅用您的令牌在页面底部填充HTTP HEADER变量
x-cassandra-token
,如下所示(再次!!是的,这不是同一个选项卡(
切换选项卡
为了插入数据,您需要切换到graphql
选项卡。
如果您尝试在graphql-schema
选项卡中插入数据,则会收到您报告的错误。
设置密钥空间
您需要在graphql
选项卡中更新GraphQL游乐场的URI,以使用密钥空间名称netflix
而不是system
。例如:
https://db_id-us-west1.apps.astra.datastax.com/api/graphql/system
更改为:
https://db_id-us-west1.apps.astra.datastax.com/api/graphql/netflix
如果您尝试将数据插入system
密钥空间,则会收到您报告的错误,因为该密钥空间中不存在reference_list
表。干杯