我有一个使用Node,Knew和Objection的GraphQL服务器。
我的模型中有以下内容:
totalCount = async () => {
const totalCount = await Request
.query()
.count();
console.log(totalCount);
return totalCount;
}
上面应该返回一个Int,但目前正在使用:"Int cannot represent non 32-bit signed integer value: [object Object]",
console.log:
[ Request { totalCount: [Function], count: 14 } ]
控制台日志中的数字14是正确的。如何获取上面的func以返回带有计数的Int?
答案 0 :(得分:0)
据推测,totalCount字段在架构中定义为整数。如您的日志所示,您的呼叫正在返回一个对象。你的整数字段解析器必须返回一个整数;如果它返回一个对象,GraphQL不知道如何处理它并抛出该错误。
只需从查询结果中提取计数,如下所示:
totalCount = () => {
return Request
.query()
.count()
.then(([res]) => res && res.count)
}