我有一个场地列表和一系列类别,如酒吧,夜总会,餐厅,咖啡厅,迪斯科舞厅等。我需要将所有场地与相应的类别配对。
一个场地可能属于一个或多个类别:
场地,类别 地点A |酒吧,餐厅 地点B |夜店 地点C |咖啡厅,餐厅 Venye D |迪斯科
现在,我该如何正确地构建它? 我似乎在类别列中以逗号分隔的列表不是正确的方法。 我正在使用MondoDB btw。
答案 0 :(得分:0)
[
{
venue: 'Some Nightclub',
categories: ['bar', 'nightclub']
},
{
venue: 'Some Cafe',
categories: ['cafe', 'disco']
}
]
答案 1 :(得分:0)
由于每个场地可以有许多类别,并且每个类别可以有许多场地,因此称为M:N关系。
在这种情况下,这是我使用的架构,基于书籍MongoDB Applied Design Patterns中的模式(链接指向右侧页面):
//db.venue.schema
[
{ "_id": "Venue A",
"category_ids": ["bar","restaurant",...]
}
]
// db.category.schema
[
{
"_id": "bar"
},
{
"_id": "restaurant"
},
...
]