我有MongoDB作为我的应用程序的后备存储。有一个更新方法,如下所示:
updateEmployee(root, args) {
return models.Employee.findById(args.input.id)
.then(employee => {
employee = Object.assign(employee, args.input)
employee.save()
})
.then(response => response)
},
findById
工作正常,但save()
什么都不做 - 数据库中的数据没有更改,我得到null
作为回复。
答案 0 :(得分:1)
那是因为Mongoose(和Node一般)返回的第一个参数不是你的数据,而是错误(如果有的话)。
所以不,它没有正常工作:)如果你"paramValue"
使用当前代码,它会记录console.log(employee)
因为操作成功完成,所以没有错误。
你应该写undefined
这是为了鼓励开发人员管理错误。
编辑:道歉,我混淆了.then( (error, employee) => { console.log(employee) }
和then
。尝试exec
方法:
exec