关于猫鼬模型的Object.assign不是一个函数

时间:2017-06-26 09:15:02

标签: node.js mongoose ecmascript-6

当我尝试使用对象赋值时,我得到newTask不是函数错误。

let newTask = new Task()

    /*newTask = Object.assign({}, params); won't work */

    newTask.language = params.language // working

    newTask.save((err, resp) => {
        if(err){
            return res.json({success: false, msg: err })
        }

        callback(err, resp)
    })

我需要将更多的参数添加到newTask中,但为什么在这种情况下对象分配不会起作用?

1 个答案:

答案 0 :(得分:1)

您正在将newTask分配给只有params的空对象。

请改为尝试:

let newTask = new Task()

Object.assign(newTask, params)

newTask.save((err, resp) => {
    if(err) {
        return res.json({success: false, msg: err })
    }

    callback(err, resp)
})

这样,newTask属性将被params对象的属性覆盖。