使用GraphQL更新数据失败

时间:2018-11-14 10:53:51

标签: node.js reactjs graphql react-native-android apollo

现在我正尝试更新现有数据宽度

const Mutation = new GraphQLObjectType({
    name: 'Mutation',
    fields: {
        updateUser: {
            type: UserType,
            args: {
                id: { type: GraphQLID },
                email: { type: GraphQLString },
            },
            resolve(parent, { id, email }) {
                console.log('email',email)
                const user = User.findById(id)
                user.email = email
                return user
            }
        },
    }
})

我的突变就是这样

 mutation{
   updateUser(id:"5beac69c421c6e2820a0e809", email:"8"){
       id       
        email
   }

 }

我回来的是用户数据, 但数据库中未进行任何更改,请帮助

1 个答案:

答案 0 :(得分:0)

@Matan,您在使用Mongoose吗?如果是这样,则必须实际更新此数据,您要做的就是简单地使对象变异并返回它。

使用MongoDB(如果您正在使用它),可以做到:User.findOneAndUpdate({ id }, { email })或接近它。

如果是另一个数据库,则必须在某个时刻调用.save().update(),否则,您将不会更改任何数据。