将数据保存到Mongodb时获得Null值

时间:2019-05-22 02:30:13

标签: javascript arrays node.js mongodb mongodb-query

我正在研究一个nodejs项目,在其中循环浏览一组记录(例如22)。每个记录包含requesterId或PractitionerId或两者。如果每个记录中都不存在requesterId或PractitionerId,则值将不确定。 这是我得到的输出:

requesterId  PractitionerId 

1043119 undefined
1043080 undefined
1043064 undefined
1042614 undefined
1028851 undefined
1028962 undefined
1028851 undefined
1028964 undefined
1028968 undefined
1028967 undefined
1028963 undefined
8d38d658-4f20-42ee-bc23-134cb5ad5066 05D0889009
e0a844e4-6c8a-489a-8bd6-1d62267d311e 05D0889009
e0a844e4-6c8a-489a-8bd6-1d62267d311e 05D0889009
e0a844e4-6c8a-489a-8bd6-1d62267d311e 05D0889009
e0a844e4-6c8a-489a-8bd6-1d62267d311e 05D0889009
e0a844e4-6c8a-489a-8bd6-1d62267d311e 05D0889009
e0a844e4-6c8a-489a-8bd6-1d62267d311e 05D0889009
e0a844e4-6c8a-489a-8bd6-1d62267d311e 05D0889009
e0a844e4-6c8a-489a-8bd6-1d62267d311e 05D0889009
e0a844e4-6c8a-489a-8bd6-1d62267d311e 05D0889009
e0a844e4-6c8a-489a-8bd6-1d62267d311e 05D0889009

我需要通过删除重复项来更新mongodb中的这些值,并将其存储为单个字符串数组。

我现在得到的输出:

"providers" : [ 
        "1043119", 
        null, 
        "1043064", 
        "1043080", 
        "1028851", 
        "1042614", 
        "1028962", 
        "1028964", 
        "1028968", 
        "1028967", 
        "1028963", 
        "8d38d658-4f20-42ee-bc23-134cb5ad5066", 
        "05D0889009", 
        "e0a844e4-6c8a-489a-8bd6-1d62267d311e"
    ]

正在保存一个空值。我不确定为什么会这样。

所需的输出:

1043119 
1043080 
1043064 
1042614 
1028851 
1028962 
1028851 
1028964 
1028968 
1028967 
1028963
8d38d658-4f20-42ee-bc23-134cb5ad5066
e0a844e4-6c8a-489a-8bd6-1d62267d311e
05D0889009

代码:

(async() => {
  try {
    let updatedResults = await data.update(query, {
      $addToSet: {
        providers: {
          $each: [requesterPractitionerId, performerOrganizationId]
        }
      }
    });
    // console.log(updatedResults);
    return updatedResults;
  } catch (e) {
    console.log(e);
  }
})();

我不确定如何在javascript中使用Set。任何帮助将不胜感激。

0 个答案:

没有答案