2016-09-21 78 views
0

我在我的first节点应用程序中有report generating。我用mongodbexpress。我有三个系列:salary rule,LeaveEmployee。我想通过使用这些集合生成employees salary在mongodb中报告

我发现phantomjs导出pdf。我用ejs模板生成html。

我从以下场景得到了json值。

  • 发现薪酬规则
  • 找到所有的员工
  • 按日期范围发现所有的叶子。
  • 通过员工ID匹配员工和工作人员并计算工资。
  • 把结果json放入数组中并通过ejs生成html
  • 使用phantomjs将html导出为pdf。

我很困惑,这种情况可能是hit performanceerror-prone。在nodemongodb中我找不到任何合适的输出示例。

我是 -

  1. 问题是,bad idea在这种情况下使用MongoDB的还是normal flow
  2. 或者我是否需要更改我的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 
}); 
+0

你可以发布你的收藏架构和/或每个样本文件吗? – dyouberg

+0

您上面给出的流程是您的业务需求,只要这反映了您的业务,这是正常的。 – toantran

+0

只需输入2美分,就可以创建报告模式来计算所有必要的信息,并将该报告转储到ejs模板中。无需将其临时放入json数组中。这样,您就可以编写规范测试来更好地覆盖您的业务。 – toantran

回答