我目前正在构建数据库以存储国家-州-城市信息,这些信息稍后会在我们网站的下拉菜单中使用。
我想就我决定的模式获得一些关于它的工作效率的建议。
我正在使用 MongoDB 来存储数据。
我设计的架构如下:
{
_id: "XXXX",
country_name: "XXXX",
some more fields
state_list:[
{
state_name: "XXXX",
some more fields
city_list:[
{
city_name : "XXXX",
some more fields
},
{
city_name : "XXXX",
some more fields
}
]
}
]
数据会越来越多。每个州还有一长串城市列表。
此架构对于预期目的的效果如何?
我应该使用链接文档技术(这将需要手动编码来映射 _id)吗?
最佳答案
我建议将它保留在国家/地区相对于州的 1-N,而城市则与 stateid 分开收集。 您将拥有每个国家的州数量有限,而州将拥有许多城市。 将城市嵌入州,然后将州嵌入国家将使国家集合变得过于庞大。 进行模式设计的通用概念基于以下标准:
1-Few(在这种情况下,将集合嵌入到父对象中。
1-many(在这种情况下,在父集合中创建 id 数组并将子集合保持独立。
1- scillions(在这种情况下,将父 id 保存在子对象中,并将它们作为单独的集合保存。
这link解释得更好。
关于mongodb - 在 MongoDB 中存储国家/地区城市,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32197603/