我有一个包含单个文档的集合,其中包含许多不同人员的统计信息。 它的结构如下:
// 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" } } });
但是我不确定如何最有效地做到这一点。