在Node.js中使用Sequelize是否可以定义在检索数据时在数据库中计算的字段?
我知道我可以add a custom getter to the DAO to calculate things in Node,但这只能处理已加载的数据.
我的目标是定义在数据库中运行的计算,因此可以使用子查询来使用其他数据进行计算.
例如,我最好这样做:
Products = Sequelize.define('Product',{ 'productId': { type: Sequelize.INTEGER,primaryKey: true,autoIncrement: true },'isProductActive': Sequelize.INTEGER,'productName': Sequelize.STRING,'productPrice': Sequelize.DECIMAL,// This is what I don't think Sequelize supports // but is what I ideally want to do... 'totalSales': { type: Sequelize.DECIMAL,subQuery: "SELECT SUM(OD.TotalPrice) FROM OrderDetails OD WHERE OD.productID = Products.productID" } };
有什么办法吗?
现在我正在使用Sequelize.query来运行自定义查询,但后来我失去了Sequelize的所有功能,并发现自己正在重做Sequelize已经完成的工作.我的另一个选择是运行两个查询 – 一个完全通过Sequelize获取基本数据,另一个只是获取计算数据,然后将计算数据复制到JavaScript中的对象.
解决方法
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。