Предположим, что у вас большое количество пользователей (M) и большое количество документов (N), и вы хотите, чтобы каждый пользователь мог отмечать каждый документ как прочитанный или непрочитанный (как и любая система электронной почты). Какой лучший способ представить это в MongoDB? Или любая другая база данных документов?
В StackOverflow есть несколько вопросов, которые задают этот вопрос для реляционных баз данных, но я не видел никаких рекомендаций для баз данных документов:
Каков наиболее эффективный способ запоминания состояния чтения/непрочтения для нескольких элементов?
Внедрение эффективной системы "непрочитанных комментариев" счетчики
Как правило, ответы включают таблицу, в которой перечислены все, что прочитал пользователь: (например, кортежи идентификатора пользователя, идентификатор документа) с некоторыми возможными оптимизациями для даты отключения, позволяющей промаркировать базу данных и начинать снова зная, что что-либо до этой даты "читается".
Итак, эксперты MongoDB/NOSQL, какие подходы вы видели на практике к этой проблеме и как они выполнялись?