如何使用graphql对猫鼬查询进行验证

时间:2020-10-02 05:55:09

标签: mongoose graphql

我需要检查数据库中数据是否存在/已经存在。我正在使用graphql和猫鼬。

这是我的graphql突变对象:

addBook: {
        type: BookType,
        args: {
            name: { type: new GraphQLNonNull(GraphQLString) },
            genre: { type: new GraphQLNonNull(GraphQLString) },
            authorid: { type: new GraphQLNonNull(GraphQLString) }
        },
        resolve(parent, args){
            let book = new Book({
                name: args.name,
                genre: args.genre,
                authorid: args.authorid
            });
            return book.save();
        }
    },
updateBook: {
        type: BookType,
        args: {
            name: { type: new GraphQLNonNull(GraphQLString) },
            updateName: { type: new GraphQLNonNull(GraphQLString) }
        },
        resolve(parent, args){
            let book = Book.findOneAndUpdate({name: args.name}, {name: args.updateName}, {new: true});
            return book.exec();
        }
    },
deleteBook: {
        type: BookType,
        args: {
            name: { type: new GraphQLNonNull(GraphQLString) }
        },
        resolve(parent, args){
            let book = Book.findOneAndDelete({name: args.name});
            return book.exec();
        }
    }

所有这些均已在MongoDB数据库中成功添加,更新和删除。但是我不知道如何先验证数据是否存在。当我尝试对不存在的书进行更新时,GraphiQL UI会抛出空

{
  "data": {
    "updateBook": null
  }
}

我该如何检查?谢谢!

0 个答案:

没有答案