Обновление счетчика категорий на основе значения динамической категории в модели loopback - PullRequest
0 голосов
/ 29 мая 2019

У меня есть список providerArray, и каждый 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, то я перебираю категории и говорю, что если это доктор, то увеличиваю его на единицу. Если в массиве категорий содержится [доктор, лаборатория], выполните цикл по каждому из них и увеличьте значение доктора и лаборатории в модели с обратной связью.

Как это сделать. Я застрял с этим на пару дней.

 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 в loopback. Я проверил документацию, но для этого сценария я не уверен, как этого добиться. Любая помощь будет очень признательна.

...