Это похоже на разумный подход?
Что за пользовательский запрос # 1? "найти активность по периодам" ? Если пользователи хотят «найти по периоду», это имеет смысл.
Однако, если пользователям нужен накопленный вид, теперь вам нужно собрать историю для пользователя и объединить ее для отображения.
Если вы хотите и «по этому периоду», и «накопленный», тогда я предлагаю просто объединить все данные в один пользовательский объект. Легко пометить отдельные действия с помощью «запуска урожая» и «отметки времени».
Детали Mongo : MongoDB может обрабатывать отдельные документы размером до 4 МБ. Самые последние версии до 8 или 16 МБ. Если вы используете это место только для текста, пожалуйста, поймите, что это много текста. Копия войны и мира составляет чуть более 3 МБ. Итак, вы говорите о сотнях страниц текста в 4 МБ. С 8 или 16 МБ вы, вероятно, сможете хранить обновления статуса и твиты в течение многих лет для большинства людей.
Обратите внимание, что MongoDB имеет GridFS для хранения двоичных данных (например, файлов изображений), поэтому вы, как правило, храните только указатели на них в пользовательском документе.