【问题标题】:Object.assign on mongoose model is not a function猫鼬模型上的 Object.assign 不是函数
【发布时间】:2017-06-26 09:15:02
【问题描述】:

当我尝试使用对象分配时,我得到 newTask is not a function 错误。

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,但是为​​什么在这种情况下对象分配不起作用?

【问题讨论】:

  • 您为什么认为这会起作用?无论如何,您需要在这里做的就是let newTask = Task(params)
  • @NeilLunn 哦,非常感谢!

标签: node.js mongoose ecmascript-6


【解决方案1】:

您正在将 newTask 分配给仅带有参数的空对象。

试试这个:

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 对象的属性覆盖。

【讨论】:

    猜你喜欢
    • 2023-01-28
    • 2016-04-22
    • 2012-01-14
    • 1970-01-01
    • 1970-01-01
    • 2018-01-15
    • 2019-01-18
    • 2021-07-14
    • 1970-01-01
    相关资源
    最近更新 更多