将 Knex 和 Objection 与 GraphQL 结合使用,如何 return count()?
Using Knex and Objection with GraphQL, how to return the count()?
我有一个使用 Node、Knew 和 Objection 的 GraphQL 服务器。
我的模型中有以下内容:
totalCount = async () => {
const totalCount = await Request
.query()
.count();
console.log(totalCount);
return totalCount;
}
上面的应该是 return 一个 Int 但目前有错误:"Int cannot represent non 32-bit signed integer value: [object Object]",
console.log:
[ Request { totalCount: [Function], count: 14 } ]
控制台日志中的数字 14 是正确的。我怎样才能得到上面的函数 return 一个带有计数的 Int?
据推测,totalCount 字段在您的模式中被定义为一个整数。如您的日志所示,您的调用是 returning 一个对象。您的整数字段解析器必须 return 一个整数;如果它 return 是一个对象,GraphQL 不知道如何处理它并抛出该错误。
只需从查询结果中提取计数,如下所示:
totalCount = () => {
return Request
.query()
.count()
.then(([res]) => res && res.count)
}
我有一个使用 Node、Knew 和 Objection 的 GraphQL 服务器。
我的模型中有以下内容:
totalCount = async () => {
const totalCount = await Request
.query()
.count();
console.log(totalCount);
return totalCount;
}
上面的应该是 return 一个 Int 但目前有错误:"Int cannot represent non 32-bit signed integer value: [object Object]",
console.log:
[ Request { totalCount: [Function], count: 14 } ]
控制台日志中的数字 14 是正确的。我怎样才能得到上面的函数 return 一个带有计数的 Int?
据推测,totalCount 字段在您的模式中被定义为一个整数。如您的日志所示,您的调用是 returning 一个对象。您的整数字段解析器必须 return 一个整数;如果它 return 是一个对象,GraphQL 不知道如何处理它并抛出该错误。
只需从查询结果中提取计数,如下所示:
totalCount = () => {
return Request
.query()
.count()
.then(([res]) => res && res.count)
}