1

想想一个标准的城市建设者游戏。你有城市,每个城市都有单位,每个单位都有装备(装备),城市本身有更多装备(未装备,它们在某个地方的盒子里,呵呵)。

A) 首先,我想制作 3 个系列。

Cities: {_id, name, locationX, locationY}
Units: {_id, name, city_id, unitType}
Items: {_id, name, itemType, unitEquipped} where unitEquipped was optional( item belonged to the city).

B)然后我把它变成:

Cities: {_id, name, locationX, locationY}
Units: {_id, units:[ {name, city_id, unitTye}, {name, city_id, unitTye}... ]}
Items: {_id, items: [ {name, itemType, unitEquipped}, {name, itemType, unitEquipped}... ]}

C)最后,这是一个集合:

Cities:
{
_id, name, locationX, locationY,
units: [ {name, unitTye}, {name, unitTye}... ],
items: [ {name, itemType, unitEquipped}, {name, itemType, unitEquipped}... ]
}

请注意单位中不再有 city_id,因为没有必要。谁能告诉我这三种风格的优缺点?我认为最后一个冗余数据最少,但如果我想要 locationX,我必须处理该文档中的其他信息,对吗?

4

0 回答 0