【发布时间】:2021-05-06 11:57:45
【问题描述】:
我有一个类似的文档集合(事件),
[{
_id: 1,
followerRange: [
{min: 5000, max: 50000, type: 'instagram'},
{min: 1000, max: 5000, type: 'facebook'},
{min: 1000, max: 25000, type: 'youtube'},
]
},{
_id: 2,
followerRange: [
{min: 10000, max: 50000, type: 'instagram'},
{min: 5000, max: 10000, type: 'facebook'},
{min: 10000, max: 100000, type: 'youtube'},
]
},{
_id: 3,
followerRange: [
{min: 10000, max: 500000, type: 'instagram'},
{min: 10000, max: 100000, type: 'facebook'},
{min: 50000, max: 100000, type: 'youtube'},
{min: 50000, max: 100000, type: 'twitter'},
]
}]
这说明了在特定社交渠道上加入活动所需的最低关注者/订阅者是多少。
现在,一个用户有三个频道,比如,
[{
type: 'instagram',
followers: 7000
},{
type: 'facebook',
followers: 3000
},{
type: 'youtube',
followers: 12000
}]
现在,要显示给该用户的事件集合的所需输出将是 -
[{
_id: 1,
followerRange: [
{min: 5000, max: 50000, type: 'instagram'},
{min: 1000, max: 5000, type: 'facebook'},
{min: 1000, max: 25000, type: 'youtube'},
]
}]
解释:
- 因为用户拥有事件 1 所需的所有频道。
- 此外,各个频道的用户关注者数量也满足最小、最大范围的标准。
- 基本上,事件集合的输出将基于不同的用户及其频道(和关注者)。
请帮助我弄清楚如何根据活跃用户(频道)过滤事件。谢谢:)
【问题讨论】:
标签: node.js arrays mongodb mongoose mongodb-query