我有一个数据收集如:
{
"_id": {
"tenant": "SOFIA",
"thirdParty": "SOFIA|ANDROS|juridical-entity",
"medicalreimbursementDateFamlyLabel": "Pharmacie",
"year": 2018
},
"medicalreimbursementDateFamlyLabel": "Pharmacie",
"year": 2018,
"numberOfActs": 160,
"totalRealCharges": 882.3299999999999,
"totalSSReimbursement": 521.63,
"totalDelegatePayment": 360.42,
"totalOtherReimbursement": 0,
"insuredUsersNumber": 80
},
{
"_id": {
"tenant": "SOFIA",
"thirdParty": "SOFIA|ANDROS|juridical-entity",
"medicalreimbursementDateFamlyLabel": "Pharmacie",
"year": 2019
},
"medicalreimbursementDateFamlyLabel": "Pharmacie",
"year": 2019,
"numberOfActs": 100,
"totalRealCharges": 784.20,
"totalSSReimbursement": 122,
"totalDelegatePayment": 230.35,
"totalOtherReimbursement": 12,
"insuredUsersNumber": 56
}
,
{
"_id": {
"tenant": "SOFIA",
"thirdParty": "SOFIA|ANDROS|juridical-entity",
"medicalreimbursementDateFamlyLabel": "Optique",
"year": 2019
},
"medicalreimbursementDateFamlyLabel": "Optique",
"year": 2019,
"numberOfActs": 33,
"totalRealCharges": 6282,
"totalSSReimbursement": 158.5,
"totalDelegatePayment": 4919.46,
"totalOtherReimbursement": 270,
"insuredUsersNumber": 21
}
,
{
"_id": {
"tenant": "SOFIA",
"thirdParty": "SOFIA|ANDROS|juridical-entity",
"medicalreimbursementDateFamlyLabel": "Hospitalisation",
"year": 2019
},
"medicalreimbursementDateFamlyLabel": "Hospitalisation",
"year": 2019,
"numberOfActs": 1437,
"totalRealCharges": 129477.12,
"totalSSReimbursement": 60697.87,
"totalDelegatePayment": 63864.41,
"totalOtherReimbursement": 3523.2999999999997,
"insuredUsersNumber": 279
}
我需要产生以下结果:
{
"medicalreimbursementDateFamlyLabel": "Pharmacie",
"numberOfActs_previousYear": 160,
"totalRealCharges_previousYear": 882.3299999999999,
"totalSSReimbursement_previousYear": 521.63,
"totalDelegatePayment_previousYear": 360.42,
"totalOtherReimbursement_previousYear": 0,
"insuredUsersNumber_previousYear": 80,
"numberOfActs": 100,
"totalRealCharges": 784.20,
"totalSSReimbursement": 122,
"totalDelegatePayment": 230.35,
"totalOtherReimbursement": 12,
"insuredUsersNumber": 56
},
{
"medicalreimbursementDateFamlyLabel": "Optique",
"numberOfActs_previousYear": 33,
"totalRealCharges_previousYear": 6282,
"totalSSReimbursement_previousYear": 158.5,
"totalDelegatePayment_previousYear": 4919.46,
"totalOtherReimbursement_previousYear": 270,
"insuredUsersNumber_previousYear": 21,
"numberOfActs": 0,
"totalRealCharges": 0,
"totalSSReimbursement": 0,
"totalDelegatePayment": 0,
"totalOtherReimbursement": 0,
"insuredUsersNumber": 0
}
,
{
"medicalreimbursementDateFamlyLabel": "Hospitalisation",
"numberOfActs_previousYear": 1437,
"totalRealCharges_previousYear": 129477.12,
"totalSSReimbursement_previousYear": 60697.87,
"totalDelegatePayment_previousYear": 63864.41,
"totalOtherReimbursement_previousYear": 3523.2999999999997,
"insuredUsersNumber_previousYear": 279,
"numberOfActs": 0,
"totalRealCharges": 0,
"totalSSReimbursement": 0,
"totalDelegatePayment": 0,
"totalOtherReimbursement": 0,
"insuredUsersNumber": 0
}
即我想通过medicalreimbursementDateFamlyLabel
每2行合并,并获得当前年份的所有字段以及上一年的所有字段,并用不同的名称存储它,如果不存在上一年的行,则所有字段都获得0。感谢您的帮助。
您可以在总和中使用$cond
: