最新消息:雨落星辰是一个专注网站SEO优化、网站SEO诊断、搜索引擎研究、网络营销推广、网站策划运营及站长类的自媒体原创博客

Sequelize afterFind挂钩不更改console.log中的数据?

运维笔记admin9浏览0评论

Sequelize afterFind挂钩不更改console.log中的数据?

Sequelize afterFind挂钩不更改console.log中的数据?

我正在尝试在模型上运行afterFind挂钩,但是运行查询后,使用JSON.stringify在console.log中的结果似乎没有改变。但是,如果我专门记录该属性,则数据将更改。

// on User model
User.hook('afterFind', function(result) {
    result.teamCount = 1
    return result.save()
  }
})

然后尝试登录时:

const result = await User.find()
console.log(result.teamCount) // -> 1
console.log(JSON.stringify(result)) // no "teamCount" attribute present

不确定钩子在做什么,或者甚至不需要save(),但似乎有些异常,如何在console.log中显示更改?

回答如下:

您应该将teamCount字段声明为虚拟的:

sequelize.define('user', {
   ...
   teamCount: {
      type: DataTypes.VIRTUAL
   }
   ...
});
发布评论

评论列表(0)

  1. 暂无评论