我在我的first
节点应用程序中有report generating
。我用mongodb
和express
。我有三个系列:salary rule
,Leave
和Employee
。我想通过使用这些集合生成employees salary
。在mongodb中报告
我发现phantomjs
导出pdf。我用ejs
模板生成html。
我从以下场景得到了json值。
- 发现薪酬规则
- 找到所有的员工
- 按日期范围发现所有的叶子。
- 通过员工ID匹配员工和工作人员并计算工资。
- 把结果json放入数组中并通过ejs生成html
- 使用phantomjs将html导出为pdf。
我很困惑,这种情况可能是hit performance
和error-prone
。在node
和mongodb
中我找不到任何合适的输出示例。
我是 -
- 问题是,
bad idea
在这种情况下使用MongoDB的还是normal flow
? - 或者我是否需要更改我的mongodb
collection schema
?
离开
var schema = new mongoose.Schema({
date: { type: Date, default: Date.now },
description: String,
type: String, // paid or unpaid
empName : String,
empId : String
});
员工
var schema = new mongoose.Schema({
id: String,
name: String,
basicSalary: Number,
active: Boolean
});
薪酬规则
var schema = new mongoose.Schema({
totalHoliday: Number,
overtimeFee: Number,
unpaidLeaveFee: Number
});
你可以发布你的收藏架构和/或每个样本文件吗? – dyouberg
您上面给出的流程是您的业务需求,只要这反映了您的业务,这是正常的。 – toantran
只需输入2美分,就可以创建报告模式来计算所有必要的信息,并将该报告转储到ejs模板中。无需将其临时放入json数组中。这样,您就可以编写规范测试来更好地覆盖您的业务。 – toantran