mongodb - Graphql:“消息”:“ID不能代表值:5a72240cf31713598588b70f”
问题描述
我moongose
用于mongodb
基于nodejs
应用程序的工作。目前,我尝试实现Grapqhl
基于 API。
我的查询graphql
架构如下所示:
const schema = buildSchema(`
type Query {
predictionModels(active: Boolean): [PredictionModel]
},
type PredictionModel {
_id: ID
title: String
active: Boolean
}
`)
但是当我使用时:
query {
predictionModels(active: true){
_id
}
}
作为我得到的回应:
"errors": [
{
"message": "ID cannot represent value: 5a72240cf31713598588b70f",
"locations": [
{
"line": 3,
"column": 5
}
],
"path": [
"predictionModels",
0,
"_id"
]
} ....
预测模型猫鼬模式:
const predictionModelSchema = new Schema({
title: { type: String, require: true, unique: true },
modelId: { type: String, require: true, unique: true },
description: { type: String, unique: true },
language: {type: String, enum: [ProgrammingLanguage.JS, ProgrammingLanguage.R], require: true},
estimates: [{ type : Schema.Types.ObjectId, ref: 'PredictionModelEstimate'}],
method: { type: methodType, require: true},
active: { type: Boolean, require: true}
})
解决方案
如果这是类型问题,您可以使用:
var ObjectId = require('mongoose').Types.ObjectId;
_id: new ObjectId(ID)