我正在尝试将作业的数据存储在单独的集合中,并希望使用聚合框架从reportData字段获取所需的结果。
以下是我尝试按需要存储和更新的示例文档,稍后使用mongoose聚合框架。
{
_id:ObjectId("566824667b51cecc1008d2b0"),
jobID:"38231623-a7c6-45e5-8624-bf46fee7c095",
reportData:{
"38231623-a7c6-45e5-8624-bf46fee7c095":{
ResumeCount:{
Pending:4,
Screened:7,
Rejected:5,
OnHold:9
},
createdOn:"24/01/2017",
activeFrom:"28/01/2017",
closedOn:"24/02/2017"
},
"572231213123123":{
interviewStatus:{
1:{
RoundType:"HR",
at:"24/01/2017"
},
2:{
RoundType:"Technical",
at:"29/01/2017"
}
},
candidateStatus:{
1:{
status:"Pending",
at:"18/01/2017 23:45:00"
},
2:{
status:"ScreenSelect",
at:"19/01/2017"
}
}
},
"572231213123190":{
interviewStatus:{
1:{
RoundType:"Technical",
at:"15/01/2017"
},
2:{
RoundType:"Technical",
at:"18/01/2017"
}
},
candidateStatus:{
1:{
status:"Pending",
at:"18/01/2017"
},
2:{
status:"ScreenSelect",
at:"19/01/2017"
}
}
}
}
}
{
_id:ObjectId("566824667b51cecc1008d2b0"),
jobID:"38231623-a7c6-45e5-8624-bf46fee7c095",
reportData:{
"38231623-a7c6-45e5-8624-bf46fee7c095":{
ResumeCount:{
Pending:4,
Screened:7,
Rejected:5,
OnHold:9
},
createdOn:"24/01/2017",
activeFrom:"28/01/2017",
closedOn:"24/02/2017"
},
"572231213123123":{
interviewStatus:{
1:{
RoundType:"HR",
at:"24/01/2017"
},
2:{
RoundType:"Technical",
at:"29/01/2017"
}
},
candidateStatus:{
1:{
status:"Pending",
at:"18/01/2017 23:45:00"
},
2:{
status:"ScreenSelect",
at:"19/01/2017"
}
}
},
"572231213123190":{
interviewStatus:{
1:{
RoundType:"Technical",
at:"15/01/2017"
},
2:{
RoundType:"Technical",
at:"18/01/2017"
}
},
candidateStatus:{
1:{
status:"Pending",
at:"18/01/2017"
},
2:{
status:"ScreenSelect",
at:"19/01/2017"
}
}
}
}
}
从上面我如何通过知道reportData字段中的正确数字(在本例中为3)来确保我为candidateStatus和interviewStatus插入新对象。