我来自关系数据库背景,我仍然试图了解如何在NoSQL数据库(或JSON对象)中存储关系的数据。
我的问题是,我如何存储有关村庄的数据?每个村庄都附有一个用户,每个村庄都有一个X和Y坐标。这就是对象的样子:
var map = [{
x: 1,
y: 1,
terrainType: land,
village: {
mayor: jragon,
population: 150,
gold: 100,
iron: 25,
garrason: {
archers: 4,
knights: 1
},
buildings: {
smith: {
level: 4,
upgradeFinish: false;
},
mill: {
level: 2,
upgradeFinish: 'some date/time...'
}
}
}
}];
但是,你可能会发现它可能会有点失控。我想在查询数据时使用一些猫鼬助手可能会有所帮助。
即使有了这个对象,关系仍然存在一些方面。 map.village.mayor指的是不同集合中的用户。
地图集合用于每次绘制地图。在绘制地图时,它决定使用什么样的瓷砖。
对不起,如果我没有说清楚的话!
答案 0 :(得分:2)
要在MongoDB中拥有良好的架构设计,您应该非常关心您经常要做的请求。
要记住以下几点:
如果你想学习,我建议你至少有一半的书" MongoDB应用设计模式"作者:Rick Copeland。您的问题和上下文可能过于宽泛,甚至无法适应stackoverflow。