I have some categories that users can favorite and track, the actual category names and details are stored in the DB but the items belonging to each category are fetched via api.
When a user adds a category to its favorite list I call the api fetch all the items belonging to the category, and store the actual category and items copy under the user scheme, so I can track what they ticked off as complete as I add a complete property under each item of the selected category before storing it under the user.
The problem is that new category items are added sometimes and I need to update the user stored lists with new items.
How do I go about redesigning the DB so the users have up to date information. Should I pull the items to the DB and set my users to only have references to categories they follow and references what items they completed? How do I achieve this?
Its a MongoDB single page JavaScript application.