来自 promise 的变量在 Bookshelf save().then() 上保持不变



我有以下代码:

User.forge(req.body)
                .save()
                .then((model) => {
                    model.id = undefined;
                    console.log(JSON.stringify({data: model}));
                    res.json({data: model})
                })

将其打印到控制台中:

{"data":{"name":"Test User","username":"test_usr","role_id":1,"id":54}}

为什么即使在Promise.then上也不会改变 model.id 的值?

您触摸id只是一个方便的属性 - 无论实际模型 id 属性名称如何,它始终被命名为 id。字符串化使用的模型属性取自模型中的attributes对象。

所以你可以只做model.attributes.id = undefined,但不建议使用这种方法,因为它依赖于书架内部。

正确的方法是改用model.set('id', undefined)

相关内容

  • 没有找到相关文章

最新更新