graphql变异中的变量值不保存

时间:2017-06-09 05:19:02

标签: graphql graphql-js

我有变量的简单变异:

变异查询

 mutation M($name: String) {
 Adduser(name: $name) {
  _id
  name
 }
}

查询变量

{
  "name":"user1"
}

graphql API 中:

app.post('/graphql', (req, res) => {
 const query = req.body.query;
 const  vars = req.body.variables;
 //console.log(vars);/*showing {  "name":"user1" }*/
   graphql(Schema, query, null, vars).then(result => {
     res.send(result);
   });
});

但我得到的输出是:

  {
 "data": {
   "Adduser": {
     "_id": "593a2cd4cf057a07d073e971",
     "name": null
    }
  }
}

更新

的用户类型:

const Adduser = {
type: userType,
args: {
    name: {
        type: graphql.GraphQLString
    },
    age: {
        type: graphql.GraphQLInt
    }
},
resolve: (obj, args) => {
    return new Promise((resolve, reject) => {
        var user=new User({
            name:args.name
            });
        user.save(function(err,usr){
            if(err){
                console.log(err);
            }
            else{
                resolve(usr);
            }
        }); 
    })
}
};

突变

const Rootmutation = new graphql.GraphQLObjectType({
name: 'Rootmutation',
fields: {
    Adduser: Adduser
}
});

 const schema = new graphql.GraphQLSchema({
query: Rootquery,
mutation: Rootmutation
});

这意味着变量值不与变异查询绑定。

这里有任何建议吗?

0 个答案:

没有答案