Я читаю документацию MongoDB по моделированию данных и у меня есть вопрос о коллекциях с пространством имен.
В приведенном ими примере используется коллекция журналов .
{ log: "dev", ts: ..., info: ... }
{ log: "debug", ts: ..., info: ...}
И они говорят
Если общее количество документов мало , вы можете сгруппировать документы в коллекции по типу. Для журналов рекомендуется поддерживать отдельные коллекции журналов, например logs.dev и logs.debug . Коллекция logs.dev будет содержать только документы, относящиеся к среде разработки.
Мне было интересно, что они имели в виду, говоря о низком общем количестве документов, но затем я нашел документы для ограничений MongoDB , которые имели смысл.
Итак, мой вопрос: если есть эти ограничения на коллекции пространств имен, какие преимущества в их использовании вместо использования новых коллекций, таких как logs_dev и logs_debug ?
Спасибо.
1 ответ
Нет ничего особенного в именах коллекций, которые включают .
; коллекции с именами logs_dev
и logs_debug
ведут себя так же, как коллекции с именами logs.dev
и logs.debug
. Все они полностью независимые коллекции.
Я считаю, что процитированная документация пытается передать в таком случае использования, как ведение журнала, вы можете либо поместить все связанные документы в единую коллекцию (где документы различаются по полю, например type
в примере) или поместить их в отдельные коллекции. А если вы помещаете их в отдельные коллекции, подумайте об использовании именования в стиле пространства имен, чтобы было ясно, что коллекции слабо связаны.
Похожие вопросы
Новые вопросы
mongodb
MongoDB - это масштабируемая, высокопроизводительная база данных NoSQL с открытым исходным кодом, ориентированная на документы. Он поддерживает большое количество языков и платформ разработки приложений. Вопросы по администрированию сервера можно задать на https://dba.stackexchange.com.