Как Вы сделали бы many-many связь с MongoDB?
Например; скажем, у Вас есть таблица Users и таблица Roles. У пользователей есть много ролей, и роли имеют многих пользователей. На земле SQL Вы составили бы таблицу UserRoles.
Users:
Id
Name
Roles:
Id
Name
UserRoles:
UserId
RoleId
Как тот же вид отношений обрабатывается в MongoDB?
В зависимости от потребностей запроса вы можете поместить все в документ пользователя:
{name:"Joe"
,roles:["Admin","User","Engineer"]
}
Чтобы получить все Engineers, используйте:
db.things.find( { roles : "Engineer" } );
Если вы хотите хранить роли в отдельных документах, вы можете включить _id документа в массив roles вместо имени:
{name:"Joe"
,roles:["4b5783300334000000000aa9","5783300334000000000aa943","6c6793300334001000000006"]
}
и настроить роли так:
{_id:"6c6793300334001000000006"
,rolename:"Engineer"
}