我有providersArray的列表,每个providerId包含类别数组,例如医生,实验室,医院等。我将这些计数存储在回送模型中。
这是文档:
{
"_id" : ObjectId("5ceba7c419b48423e452972a"),
"userId" : ObjectId("5ceba7c419b48423e4529727"),
"providers" : [
"1689736266",
"1598763690",
"1528069614",
"1831364272",
"1548463045",
"1245301159",
"1386616399",
"1790775971",
"1629462130",
"1992169783"
],
"countByType" : {
"doctors" : 6,
"labs" : 0,
"hospitals" : 0,
"imagingCenters" : 0,
"other" : 4
}
}
我正在寻找的是,如果出现了新的providerId,那么我将遍历类别并说是否是医生,然后再加1。如果类别数组包含[doctor,lab],则遍历每个数组,并在回送模型中增加doctor和lab的值。
如何做到这一点。我坚持了几天。
let searchForProviders = await esHelper.getProvidersById(combinedProviderArray, true);
let inc = {};
searchForProviders.forEach((providers) => {
let categories = providers.category;
categories.forEach((cat) => {
// Combining categories
categoryArray = categoryArray.concat(cat);
categoryArray.forEach((x) => {
switch(x) {
case 'doctor':
// code block
break;
case 'lab':
// code block
break;
case 'imagingCenter':
// code block
break;
case 'hospital':
// code block
break;
case 'other':
// code block
inc.other =
break;
default:
// code block
}
});
});
});
如何在环回中使用$ inc。我检查了文档,但是对于这种情况,我不确定如何实现。任何帮助将不胜感激。