Схема базы данных для подписчиков - PullRequest
0 голосов
/ 04 апреля 2020

Я создаю 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
});

Каков наилучший способ сохранить и получить это?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...