Join -Monster麻烦返回带有数据和计数作为单独字段的解析器

时间:2019-01-03 08:41:22

标签: javascript pagination graphql resolver

我的解析器函数当前返回以下错误: “必须在解析器上在类型用“ sqlTable”修饰的字段上调用joinMonster。” 这是解析器:

const joinMonster = require("join-monster").default; 
const sql = require("mssql"); 

export const  studentsPageResolver = async(obj, { filter }, context, info) => {
    return {
      students: joinMonster(
        info,
        context,
        async sqlString => {
            console.log(sqlString);
            const results = await sql.query([sqlString]);
            return results.recordset;
        },
    ),
    total: async ()=> {
        const schools = filter.schoolIds.toString();
        const result =  await sql.query([`select count (*)
        FROM [aaa].[dbo].[bbb] WHERE SchoolID IN (${schools})`])
        const number = result.recordset[0][''];
        return number;
      }
  }
}

我认为问题是students字段正在寻找studentsPageResolver的表,而不是存在的students。 在我的根查询中,我使用像这样的解析器:

studentsPage: studentsPageResolver,

在架构中,其定义如下: type studentsPage { students: [StudentView!] total: Int! }

实现是这样的:

students (filter: JSON!): [StudentView!]!
  studentsPage(filter: JSON): studentsPage

同样,我认为info对象正在馈送错误的数据以加入Monster,然后怪物会寻找没有表的表。任何帮助表示赞赏。

0 个答案:

没有答案