在线观看不卡亚洲电影_亚洲妓女99综合网_91青青青亚洲娱乐在线观看_日韩无码高清综合久久

鍍金池/ 問答/數(shù)據(jù)庫/ mongodb 數(shù)據(jù)結(jié)構(gòu)的一些疑問 大佬請(qǐng)進(jìn)!

mongodb 數(shù)據(jù)結(jié)構(gòu)的一些疑問 大佬請(qǐng)進(jìn)!

初次接觸nosql
在表結(jié)構(gòu)上有些疑問
比如設(shè)計(jì)一個(gè)游戲的用戶表
用戶的背包應(yīng)該是包含在用戶表中還是單獨(dú)建表?


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

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

求解!感謝!

回答
編輯回答
近義詞

可以嵌套在user表里:
{

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

}
類似這樣,如果數(shù)量越來越多的話,可以考慮索引:
就是單獨(dú)建表,然后在引用背包表的id放到 user表里即可

2017年12月5日 18:43
編輯回答
拼未來

這個(gè)問題應(yīng)該這樣考慮的:
你的背包的個(gè)數(shù)和屬性是一定的,是單獨(dú)的個(gè)體。其他的地方也是可以使用的,不一定只有用戶使用: 這就要單獨(dú)創(chuàng)建一個(gè)背包的表和用戶沒有關(guān)系的

然后你用戶也是單獨(dú)的個(gè)體,也要單獨(dú)創(chuàng)建一個(gè)用戶表

然后你用戶和背包是多對(duì)多的關(guān)系,這時(shí)候只要在創(chuàng)建一個(gè)用戶背包關(guān)聯(lián)的表的就可以了

這樣的話,就不用頻繁的更新用戶和背包的表了,只需要關(guān)注這個(gè)關(guān)聯(lián)的表進(jìn)行增刪改就可以了

2017年11月4日 08:07
編輯回答
入她眼

這是一個(gè)簡(jiǎn)單的數(shù)據(jù)問題吧,涉及到了數(shù)據(jù)庫的涉及。
個(gè)人建議是分開建立,通過外鍵約束關(guān)聯(lián)。

2018年4月27日 22:28