Ассоциация MongoDB Many-Many

Как Вы сделали бы many-many связь с MongoDB?

Например; скажем, у Вас есть таблица Users и таблица Roles. У пользователей есть много ролей, и роли имеют многих пользователей. На земле SQL Вы составили бы таблицу UserRoles.

Users:
    Id
    Name

Roles:
    Id
    Name

UserRoles:
    UserId
    RoleId

Как тот же вид отношений обрабатывается в MongoDB?

128
задан Josh Close 25 February 2010 в 18:46
поделиться

1 ответ

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

{name:"Joe"
,roles:["Admin","User","Engineer"]
}

Чтобы получить все Engineers, используйте:

db.things.find( { roles : "Engineer" } );

Если вы хотите хранить роли в отдельных документах, вы можете включить _id документа в массив roles вместо имени:

{name:"Joe"
,roles:["4b5783300334000000000aa9","5783300334000000000aa943","6c6793300334001000000006"]
}

и настроить роли так:

{_id:"6c6793300334001000000006"
,rolename:"Engineer"
}
87
ответ дан 24 November 2019 в 00:40
поделиться
Другие вопросы по тегам:

Похожие вопросы: