我正在尝试使用 Dexie.js 在 JavaScript 中创建一个简单的股票/销售应用程序。我不确定如何在不编写糟糕的递归代码的情况下返回总销售额,该代码只针对一种产品的总销售额多次运行查询。
我的架构有点像这样:
clients: "++id, name, phone",
order: "++id, clientId, daate",
order_content: "orderId, productId, qty",
product: "++id, name, mu, mk_cost, sa_cost, prod_cost",
stock: "++id, date, productId, qty, lot"
我将产品类型与价格和其他详细信息一起存储在“产品”中。下订单时,我将 clientId 存储在 Order 中,然后我使用“order_content”将项目存储在那里,使用 orderId 作为排序键。
我基本上想对每个项目做一个总计和总和。
我尝试在 db.product.each() 循环中运行下面的代码,但似乎我让自己复杂化了。
var product1Total = 0;
function calculateTotal(productId, price){
db.order_content
.where("productID")
.equals(productId)
.each(function(item){
product1Total += (price * qty)
})
}
谢谢!