您将如何与MongoDB进行多对多关联?
例如假设您有一个用户表和一个角色表.用户有很多角色,角色有很多用户.在sqlland中,您将创建一个UserRoles表.
Users:
Id
Name
Roles:
Id
Name
UserRoles:
UserId
RoleId
MongoDB是如何处理这种关系的?
您将如何与MongoDB进行多对多关联?
例如假设您有一个用户表和一个角色表.用户有很多角色,角色有很多用户.在sqlland中,您将创建一个UserRoles表.
Users:
Id
Name
Roles:
Id
Name
UserRoles:
UserId
RoleId
MongoDB是如何处理这种关系的?
根据您的查询需求,您可以将所有内容放入用户文档中:
{name:"Joe"
,roles:["Admin","User","Engineer"]
}
要获得所有工程师,请使用:
db.things.find( { roles : "Engineer" } );
如果要在单独的文档中维护角色,则可以在角色数组中包含文档的_id,而不是名称:
{name:"Joe"
,roles:["4b5783300334000000000aa9","5783300334000000000aa943","6c6793300334001000000006"]
}
并设置如下角色:
{_id:"6c6793300334001000000006"
,rolename:"Engineer"
}