У меня есть документ типа
{
"_id" : ObjectId("5bfdb66f0f77e33b90f53fad"),
"email" : "amit@gmail.com",
"appointments" : [
{
"year" : "2018",
"months" : "12",
"day" : "31",
"hour" : "10",
"minute" : "30",
"doctorsName" : "Doc 1",
"hospitalName" : "Place 1",
"sortOrder" : "201812311030"
},
{
"year" : "2018",
"months" : "09",
"day" : "31",
"hour" : "10",
"minute" : "30",
"doctorsName" : "Doc 1",
"hospitalName" : "Place 1",
"sortOrder" : "201809311030"
},
{
"year" : "2018",
"months" : "11",
"day" : "30",
"hour" : "05",
"minute" : "30",
"doctorsName" : "Doc 1",
"hospitalName" : "Place 1",
"sortOrder" : "201811300530"
}
],
"medicalData" : [
{
"year" : "2018",
"months" : "09",
"day" : "31",
"symptomsList" : [“headache”,“nausea”,"cough"],
"weight" : "70",
"bloodPressureSystolic" : "120",
"bloodPressureDiastolic" : "80",
"medications" : [“med 1”,“med 2”],
"sortOrder" : "20180931"
},
{
"year" : "2018",
"months" : "10",
"day" : "31",
"symptomsList" : [“headache”,"cough","Vomiting","Body Pain"],
"weight" : "70",
"bloodPressureSystolic" : "120",
"bloodPressureDiastolic" : "80",
"medications" : [“med 1”,“med 2”,"med 3"],
"sortOrder" : "20181031"
}
]
}
Я хочу обработать оба поддокумента на основе разных параметров.С помощью Агрегатора я попробовал.Но не смог добиться успеха.
Я хочу, чтобы данные со всеми полями и данными встреч были больше определенного сортировщика (order1), а медицинские данные равны другому значению сортировщика (order2).только одна медицинская информация будет доступна для этого конкретного сортировщика.Прямо сейчас я пишу два запроса, один для Назначения и другой для Медицинских Данных, и объединяю их для создания полного JSON.
Тип вывода, который я хочу:
{
"email" : "amit@gmail.com",
“appointments”:
[{
“year”:2018,
“month”:8,
“day”:1,
“hour”:7,
“minutes”:6,
“doctorName”:”Doc 1”,
“hospitalName”:”Place 1”
},
{
“year”:2018,
“month”:10,
“day”:15,
“hour”:11,
“minutes”:16,
“doctorName”:”Doc 1”,
“hospitalName”:”Place 1”
}],
“symptoms”: [“headache”,“nausea”],
“bloodPressureSystolic”:120,
“bloodPressureDiastolic”:80,
“weight”: 58.5,
“medications”:[“med 1”,“med 2”]
}
Пожалуйста, игнорируйте несоответствие данных в ожидаемом результате.