Я проектирую центр уведомлений для социальной сети, и я просто собираюсь хранить уведомления одного пользователя в одной коллекции с именем notification_ $ userid ($ userid is dynamic).Динамический дизайн коллекции mongodb
И для такого дизайна я считаю, что его можно читать и набирать быстрее, чем отправлять уведомления всех пользователей только в одной коллекции. Но есть ли у него недостатки? или существует ли ограничение на сумму сбора одного db?
Текущая версия центра уведомлений просто нравится то, что вы упомянули. Но я просто беспокоился о коэффициенте заполнения, который монго копировал документ и делал действие записи очень медленным. – Kevin
Нет, на самом деле, вам не о чем беспокоиться. Я предполагаю, что у вас есть аутентификация, прежде чем пользователи могут что-либо сделать, и вы можете получить всю информацию о зарегистрированном пользователе сразу после ее проверки. =) Я написал болтовню, основанную на MongoDB таким образом. Я получаю информацию пользователя при аутентификации, и я использую 2 коллекции для фактического обмена сообщениями. Один временно, пока оба пользователя не прочитают это сообщение (doc) и одно для «архивов». Когда пользователь отправляет сообщение, он записывается в обе таблицы, и когда оба они его прочитали, он удаляется из временной коллекции. =) – benqus
@benqus Что делать, если массив архивов будет расти очень быстро? Как долго вы сможете сохранить его читабельным? Или все архивы, хранящиеся в огромной коллекции? Извините, но этот момент для меня непонятен. –