2014-01-19 2 views
1

Я не совсем понимаю сделку с коллекциями и базами данных. Если у меня есть список менеджеров, у каждого из которых есть id и сотрудники, каждый из которых имеет id и идентификатор менеджеров, я бы сделал менеджеров и сотрудников отдельными базами данных или коллекциями?Коллекция MongoDB vs новая база данных

ответ

2

В большинстве случаев вы хотите иметь только одну базу данных и несколько коллекций на ней.

Вам необходимо сделать как менеджерами и сотрудников a collection. сотрудники могут иметь ObjectId, который ссылается на менеджеров

Несколько раз, вам требуется более одной базы данных, но это только в больших приложениях. Как одна база данных для финансов, другая для кадровых ресурсов, другая для хранения, ...

Возможно, вы можете больше рассказать о своих потребностях в базе данных, и я дам вам более подробный ответ на подход, который вы должны предпринять ,

1

Вы можете поместить их в отдельные коллекции, даже вы можете вставить employee в коллекцию managers. Однако, помещая их в другую базу данных, бессмысленно. Если вы хотите узнать что-нибудь о embedding vs linking на mongodb, см. here

3

Для большинства случаев вы должны использовать только одну базу данных для менеджера и сотрудников. Там только разум в моей голове использовать несколько баз данных для лучшего параллелизма. В настоящее время MongoDB использует per-database lock, что означает, что операции с одной и той же базой данных могут блокировать друг друга. Это может потенциально повысить производительность, чтобы разделить вашу базу данных, если некоторые данные чрезвычайно горячие.

Смежные вопросы