javascript - 将数据添加到返回的模型 sequelize
问题描述
我有一个按预期工作的续集模型对象。
const part = sequalize.define("part", {
id: {type:Sequalize.INTEGER, primaryKey: true, autoIncrement: true},
part_number: {type : Sequalize.STRING(12), unique: true, allowNull: false},
description: {type : Sequalize.STRING(255), allowNull: false}, true}
})
但是,例如在查询中调用此模型时,我想运行一个附加函数。
我现在有这个功能:
part.prototype.getTotalStock = function () {
let _this = this;
return new Promise(function(resolve, reject) {
part.findOne({
where: {id: _this.id},
include: [{
model: sequalize.models.location,
}]
}).then(result => {
if (result) {
var totalStock = 0;
let stockOnLocation = result.dataValues.locations
stockOnLocation.forEach(function (entry) {
totalStock += entry.stock.amount
});
_this.setDataValue('totalStock', totalStock);
return resolve(_this)
} else {
return resolve(0)
}
}).catch(err => {
return reject(err)
});
})
}
我正在做的是我做一个查询,所以我有一个部分对象。之后我可以打电话:
queryResult.getTotalStock().then(result => { //data here in result })
这是有效的,它检索股票,计算它,并将数据添加到自我。现在我的问题是,是否可以在使用模型时自动附加 getTotalStock 的结果?这样我就不必在返回的对象上调用 getTotalStock 了吗?
解决方案
推荐阅读
- facebook - facebook 应用程序要求我在没有平台时添加平台
- javascript - 如何通过在 django 中使用两个不同的日期进行过滤来获取数据?
- nutch - org.apache.tika.utils.XMLReaderUtils 获取 SAXParser 警告:争用等待 SAXParser。考虑增加 XMLReaderUtils.POOL_SIZE
- oracle - 将汇总数据存储在主表中,而不是派生它
- python - 来自点和几何信息的 OSMNX 图
- python - discord.py 使用字典
- rust - DataFusion(Apache Arrow):如何懒惰地读取批量结果?
- file - 如何将 #/fragment 标识符与 file:// URI/URL 协议一起使用
- string - 使用 shell 脚本捕获 2 个特定字母/单词之间的字符串
- java - Spring Boot @Autowired 给了我 NullPointerException