Как организовать эти данные в MongoDB - PullRequest
0 голосов
/ 12 сентября 2018

Я хочу создать простое приложение диспетчера контактов с данными, хранящимися в MongoDB. Это будет мое первое приложение, использующее MongoDB, поэтому я ищу несколько советов о том, каким идиоматическим «моногамным способом» будет организовать мои данные.

В приложении будет несколько пользователей, которые будут назначены в одну или несколько групп. Каждый контакт также будет присвоен одной или нескольким группам. Пользователи смогут только просматривать / редактировать контакты, назначенные группам, членами которых они являются.

Я вижу 3 коллекции:

Контакты

{
   firstName: "Bob",
   lastName: "Jones",
   ...
   groups: [ "ABC12345" ]
}

Группы

{
    $id: "ABC12345"
    name: "Group A"
}

Пользователи

{
    username: "user1",
    groups: [ "ABC12345" ]
}

Хотя это немного похоже на традиционную схему RDBMS. Есть ли более подходящая схема для Монго?

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

...