Я создаю API с базой данных MongoDB для поддержки подписок каждого пользователя в самой коллекции пользователей следующим образом:
Users
{
"_id" : ObjectId("5e7329a758feb22d51adeac4"),
"mobile" : "XXXXXXXXXX",
"isVerified" : true,
"subscriptions" : [
ObjectId("5e624a8076dfae001754369c"),
ObjectId("5e61ae5976dfae0017543689")
]
}
Причина, по которой я его так разработал состоит в том, чтобы собрать всю пользовательскую информацию и легко извлечь ее, но когда мне нужно получить общее число подписчиков определенного информационного бюллетеня, мне нужно перебрать каждый документ в коллекции, чтобы получить ее.
Учитывая это, мне нужно показывать количество подписчиков для каждого пользователя, и его собственные данные будут использоваться для проверки его подписки и добавления соответствующего статуса.
Пример:
После получения массива новостных рассылок Я добавлю статус подписки в каждую новостную рассылку следующим образом:
newsletterArray.map(data => {
data['isSubscribed'] = user['subscriptions'].indexOf(data['_id']) > -1 ? true : false;
data['subscriberCount'] = //Query for getting total count
});
Каков наилучший способ сохранить и получить это?