Я хочу создать простое приложение диспетчера контактов с данными, хранящимися в MongoDB. Это будет мое первое приложение, использующее MongoDB, поэтому я ищу несколько советов о том, каким идиоматическим «моногамным способом» будет организовать мои данные.
В приложении будет несколько пользователей, которые будут назначены в одну или несколько групп. Каждый контакт также будет присвоен одной или нескольким группам. Пользователи смогут только просматривать / редактировать контакты, назначенные группам, членами которых они являются.
Я вижу 3 коллекции:
Контакты
{
firstName: "Bob",
lastName: "Jones",
...
groups: [ "ABC12345" ]
}
Группы
{
$id: "ABC12345"
name: "Group A"
}
Пользователи
{
username: "user1",
groups: [ "ABC12345" ]
}
Хотя это немного похоже на традиционную схему RDBMS. Есть ли более подходящая схема для Монго?
Кроме того, я полагаю, что поймаю немного фальши на том, что хочу использовать Mongo, но у меня есть другие причины для этого, так что движок db на самом деле не обсуждается.