Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/mongodb/12.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Node.js 如何使用express graphql发送成功响应消息?_Node.js_Mongodb_Express_Graphql_Express Graphql - Fatal编程技术网

Node.js 如何使用express graphql发送成功响应消息?

Node.js 如何使用express graphql发送成功响应消息?,node.js,mongodb,express,graphql,express-graphql,Node.js,Mongodb,Express,Graphql,Express Graphql,我是graphql新手,在我的服务器上使用express graphql。我对变异部分有疑问,如果某个操作(如更改密码)成功,我们如何发送成功消息,这是我更改密码的变异字段 changePassword: { type: UserType, args: { id: { type: new GraphQLNonNull(GraphQLID) }, password: { type: new GraphQLNonNull(GraphQLString) }, newPa

我是graphql新手,在我的服务器上使用express graphql。我对变异部分有疑问,如果某个操作(如更改密码)成功,我们如何发送成功消息,这是我更改密码的变异字段

changePassword: {
  type: UserType,
  args: {
    id: { type: new GraphQLNonNull(GraphQLID) },
    password: { type: new GraphQLNonNull(GraphQLString) },
    newPassword: { type: new GraphQLNonNull(GraphQLString) },
  },
  resolve(parent, args) {
    return User.findById({ _id: args.id })
      .then(async resp => {
        const checkPassword = await comparePassword(args.password, resp.password);
        if (checkPassword) {
          return resp;
        } else {
          throw new Error('WRONG_PASSWORD');
        }
      })
      .then(async resp => {
        const hashedPassword = await hashPassword(args.newPassword);
        await User.updateOne({ _id: args.id }, { $set: { password: hashedPassword }});
        return resp
      })
      .catch(err => {
        console.log(err.message);
        return err;
      });
  },
},

我可以在哪里或如何实现我的意图?

不清楚你在问什么。字段的类型是
UserType
,因此您应该返回一个用户。如果要返回消息,请将类型改为
GraphQLString
。是否需要这样的选项?
{statusCode:200,body:…}