MongoDB多集合关联如果做?

VF 2012-09-17 04:41:13
User集合,Role集合,因为User和Role是多对多的关系,所以还建立了一个UserRole集合

这个在关系型数据库中很普遍

做SQL查询时就是:SELECT C.* FROM USER A,USER_ROLE B,ROLE C WHERE A.USER_ID=B.USER_ID AND B.ROLE_ID=C.ROLE_ID WHERE A.USER_NAME='XXXX'

这样就可以查询出某个用户的所有角色

这样的查询方式在mongoDB中如何实现?

小弟刚接触mongoDB,多谢各位老大指教,十分感谢!
...全文
464 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
VF 2012-09-24
  • 打赏
  • 举报
回复
看了文档,mongodb不支持集合关联查询和缓存,只能用这种子查询的方式了,3Q
reiz6153 2012-09-18
  • 打赏
  • 举报
回复
users collection:
{
_id : ...,
username : ...,
roles : [roleId1, roleId2, ...]
}

roles collection:
{
_id : ...,
name : ...,
users : [userId1, userId2, ...]
}

查询某个用户的所有角色:
user = db.users.findOne({_id : ...});
roles = db.roles.find({_id : {$in : user['roles']}})

1,746

社区成员

发帖
与我相关
我的任务
社区描述
MongoDB相关内容讨论区
社区管理员
  • MongoDB社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧