Моя функция распознавателя в настоящее время возвращает следующую ошибку: «Должен вызывать joinMonster в преобразователе в поле, где тип украшен« sqlTable ».»Вот решатель:
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
передает неверные данные, чтобы присоединиться к монстру, который затем ищет таблицу, где ее нет.Любая помощь приветствуется.