未知指令“唯一”-猫鼬和GraphQL

时间:2019-03-03 07:49:55

标签: mongoose graphql

我是graphql的新手,并尝试在graphql中添加唯一的架构,但是出现了这样的错误。
这是模式:

const mongoose = require('mongoose');
const { Schema } = mongoose;

const incidentSchema = new Schema({
  incidentNumber: {type: String, required: true, unique: true},
  releaseDate: {type: String, required: true}
});
module.exports = mongoose.model('Incident', incidentSchema);

在graphql突变中:

addIncident: {
      type: IncidentType,
      args: {
        incidentNumber: { type: GraphQLString },
        releaseDate: { type: GraphQLString }
      },
      resolve(parent, args) {
        let incident = new Incident({
          incidentNumber: args.incidentNumber,
          releaseDate: args.releaseDate
        });
        return incident.save();
      }
    }

不知道该问题需要做什么

1 个答案:

答案 0 :(得分:0)

使用服务器不支持的指令进行查询时,通常会返回此错误消息。听起来您的查询包含@unique伪指令,但是服务器端没有定义这种伪指令。您可以查看API的文档,以了解支持哪些指令。也可以运行自省查询来获取该信息:

query GetDirectives {
  __schema {
    directives {
      name
      description
      locations
      args {
        name
        description
        defaultValue
        type {
          name
        }
      }
    }
  }
}