mongodb 数据结构的一些疑问 大佬请进!

初次接触nosql
在表结构上有些疑问
比如设计一个游戏的用户表
用户的背包应该是包含在用户表中还是单独建表?


// 用户表 user
{
    _id: '',
    name: '',
    email: '',
    ....
    backpack: [
        {
            // 背包1
        },
        {
            // 背包2
        }
    ]
}
// 还是
// 用户表 user
{
    _id: '',
    name: '',
    email: '',
    ...
}

// 用户背包表
{
    _id: '',
    user_id: '',
    ...
}

求解!感谢!

阅读 2.4k
3 个回答

这是一个简单的数据问题吧,涉及到了数据库的涉及。
个人建议是分开建立,通过外键约束关联。

可以嵌套在user表里:
{

'_id':ObjectId("52ffc33cd85242f436000001"),
'name':'Jackey',
backpack: {
    'backpack_color': 'white'
}

}
类似这样,如果数量越来越多的话,可以考虑索引:
就是单独建表,然后在引用背包表的id放到 user表里即可

这个问题应该这样考虑的:
你的背包的个数和属性是一定的,是单独的个体。其他的地方也是可以使用的,不一定只有用户使用: 这就要单独创建一个背包的表和用户没有关系的

然后你用户也是单独的个体,也要单独创建一个用户表

然后你用户和背包是多对多的关系,这时候只要在创建一个用户背包关联的表的就可以了

这样的话,就不用频繁的更新用户和背包的表了,只需要关注这个关联的表进行增删改就可以了

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进