我正在使用MongoDB构建社交应用程序。我有一个场景,我需要存储组中的用户列表及其与组的关系。存储它的优化方法是什么? 我遇到了两条路。
保存组集合中的用户列表
{
"groupId":"",
"admins":[
"1234","2345","3422"
],
"moderators":[
"3242"
],
"members":[
"2354","9865","6747"
]
}
将组ID,用户ID,关系列为传统风格的单独集合中的列表
{
"groupId":"1234",
"userId":"8764",
"relation":"Admin"
},{
"groupId":"0987",
"userId":"4345",
"relation":"Member"
},{
"groupId":"0987",
"userId":"3456",
"relation":"Admin"
},{
"groupId":"0987",
"userId":"7654",
"relation":"Member"
},{
"groupId":"0987",
"userId":"8765",
"relation":"Member"
}
我的主要查询是
列出具有关系的组成员
按照首字母
列出用户所属的群组
哪种方法最适合上述要求。
**请原谅我的json格式在编辑器代码样式中不接受。