晚上好,
我正在尝试使用MongoDB作为后端开发一个小型数据模型。这是我第一次使用NoSQL数据库和数据模型进行开发。
最大的想法是:可以完成一系列服务,每个服务都可以在不同的地方使用。举个例子,让我们想一个显示吃饭地点的网站(服务),你可以在多个地方做到这一点,所以有许多地方的服务(EAT)(地点)。
我不知道如何对此进行建模,任何想法?
SERVICE {
_id: ObjectId,
Name: String,
Code: String
} // Data model for the Service Collection?
PLACES {
_id: ObjectId,
NameOfPlace: String,
Service1: String,
Service2: String,
...
Servicen: String
} /* This way, by using the flexibility of MongoDB,
updating the document each time with some new (key, value).
Doesnt seem elegant nor efficient.*/
PLACES {
_id: ObjectId,
NameOfPlace: String,
Services: {
NameOfService1: refID SERVICE COLLECTION,
NameOfService2: refID SERVICE COLLECTION..
}
} // Maybe this way is better? No idea how to do those tho'
您可以向我解释的更好的解决方案吗?谢谢大家!
答案 0 :(得分:2)
您应该考虑使用引用对它们进行建模。基本上,Place有一系列Serivce的Ids
SERVICE {
_id: ObjectId,
Name: String,
Code: String
}
PLACES {
_id: ObjectId,
NameOfPlace: String,
Services: [Service1_id, Service2_id, ...]
}
您可以阅读以下链接了解实施细节
答案 1 :(得分:0)
理想情况下,它应该作为嵌套的子文档或一组场所存储在一个集合中。 NoSql应该用于嵌套数据对象/数组的这种要求,而不是传统的RDBMS关系。