#graphql #backend #apollo
Вопрос:
Я получаю эту ошибку на игровой площадке graphql (изображение ниже ) . Я также проверил действительность ObjectId в распознавателе.
// модель
const ProposalSchema = new Schema({ cover Letter: { type: String, }, budget: { type: String, }, proposals: { type: mongoose.Schema.Types.ObjectId, }, _id: { type: mongoose.Schema.Types.ObjectId, }, });
//распознаватель также проверил, является ли аргумент допустимым, используя mongoose.isValidObjectId(proposser)
его, возвращает значение true
Query: { proposals(_, args) { const { proposser } = args; return Proposal.findById({ proposser, }); }, },
// схема
const typeDefs = gql` type Proposal { _id: ID! coverLetter: String budget: String proposser: ID! } `; const Proposal = mongoose.model("Proposal", ProposalSchema);
Ответ №1:
Я использовал неправильный метод в распознавателях . findById
использовался для поля, не имеющего идентификатора.
async proposals(_, args) { const { proposser } = args; const userProposals = await Proposal.find({ proposser, }); try { const result = userProposals; return result ? result : []; } catch (err) { console.log(err); } },