如何使用Mongoose更新另一个集合中的集合中的每个文档

时间:2020-07-09 19:27:56

标签: node.js mongodb mongoose

我有一个包含单个文档的集合,其中包含许多不同人员的统计信息。 它的结构如下:

// Stats list:
[{
   id: .... ,
   lastUpdated: ... ,
   stats: {
      Person1: {stat1: 0, stat2: 0, stat3: 0},
      Person2: {stat1: 0, stat2: 0, stat3: 0},
      ...
      Person100: {stat1: 0, stat2: 0, stat3: 0}
   }

}]

这些统计信息每24小时更新一次。

现在我有数百个列表,其中包含第一个集合中特定人员的列表。

// Listings:
[{
   id: ...,
   persons: {
       Person1: {stat1: 0, stat2: 0, stat3: 0},
       Person43: {stat1: 0, stat2: 0, stat3: 0}
   }
}]

与我显示的第一个集合的“统计”部分中的人员相比,我希望能够更新这些清单中的所有统计。

我的逻辑与此类似:

await Listing.updateMany({}, { $set: { persons: { "some kind of query" } } });

但是我不确定如何最有效地做到这一点。

0 个答案:

没有答案