javascript - 预期可迭代,但没有找到一个字段
问题描述
使用 GraphQL 和 SQLite,这是我的查询:
{
book {
id
authors {
name
}
}
}
类型:
type Book {
id: ID!
title: String
actors: [Author!]!
}
type Author {
id: ID!
name: String
}
这是我的决心:
const resolvers = {
Query: {
book: async (_, __, { db }) => {
return await db.all('SELECT * FROM books');
},
}
};
错误是:
"message": "预期为 Iterable,但没有为字段 Book.authors 找到一个。",
解决方案
在您的查询解析器中,您只能books
从您的 select中解析'SELECT * FROM books'
。
如果您希望能够查询books
andauthors
并且只有一个解析器,则必须返回两个对象,即您必须在解析器中构建并返回完整对象book
。
推荐阅读
- javascript - 如何检查 Api 是否被触发以及如果它被触发如何中止 api
- azure - Terraform azure 虚拟网络创建
- pandas - 日期时间和 NaT 之间的计数值
- python - 与其他元素相比,在列表中查找权重最高的元素
- python - 函数在自己执行时起作用,但是当它们都被同时调用时,似乎只有第一个接收到参数
- bash - 如何将 url 列表传递到 Azure 管道中的变量值
- sql - T-SQL中具有随机时间差异的非连续行之间的日期差异和行之间的分组
- c# - 如何在 C# 分析中使探查器附加为真?
- algorithm - grundy游戏的grundy值问题
- android - 如何使用 ItemTouchHelper 在 recyclerview 的每一侧显示 2 个单独的按钮