我目前在MongoDB中有一个实体,它有一个键值对列表(参见下面的“元数据”)。我现在想要做的是为每个键允许多个值,并选择与每个值相关联的开始和结束时间。一个简单的键值属性数组符合以前的模型,但是保持所有嵌入的数据仍然有意义吗?快速阅读和过滤关键和时间的效率比写作更重要。
当我慢慢掌握NoSQL时,欢迎任何帮助。谢谢!
目前:
"metadata" : [
{
"key" : "Weather",
"value" : "Sunny"
},
{
"key" : "Temperature",
"value" : "24"
}]
建议:
"metadata" : [
{
"key" : "Weather",
"value" : [
{
"value" : "Sunny",
"time" : {
"begin_time" : "09:00",
"end_time" : "12:00"
}
},
{
"value" : "Cloudy",
"time" : {
"begin_time" : "15:00",
"end_time" : "17:00"
}
}
]
},
{
"key" : "Temperature",
"value" : "24"
}]