如何使用GraphQL API将数据插入Astra DB



我正在努力学习这个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表。干杯

最新更新