预期可迭代,但没有找到一个字段

Posted

技术标签:

【中文标题】预期可迭代,但没有找到一个字段【英文标题】:Expected Iterable but did not find one for field 【发布时间】:2019-08-01 03:10:13 【问题描述】:

使用 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.",

【问题讨论】:

【参考方案1】:

在您的查询解析器中,您只是从您选择的'SELECT * FROM books' 中解析books

如果您希望能够查询booksauthors,并且只有一个解析器,则必须返回两个对象,即您必须在解析器book 中构建并返回完整对象。

【讨论】:

以上是关于预期可迭代,但没有找到一个字段的主要内容,如果未能解决你的问题,请参考以下文章

为啥“预期解码数据但找到一个数组”我的代码中没有数组

DOcplexException:预期可迭代错误

在 Python 中将任何可迭代对象转换为数组

Twig - 迭代表单字段

每次新迭代时的 UITextField 输入

GraphQL 期望 Iterable,但没有为字段 xxx.yyy 找到一个