【发布时间】:2012-02-07 08:05:31
【问题描述】:
在 MongoDB 中存储类似结构的更好方法是什么?为全部选择一个集合还是为每个结构选择一个?拥有一个/几个有什么好处?
例如,我必须存储一些日志,以便进一步分析。每个结构都有一个共同的部分和一些特定于某些统计类型的数据,例如:
{
timestamp: ...,
client: { ... },
type: 'stats_for_item1',
data: {
id: ObjectId('xxx'),
field1: 1,
field2: 2
}
},
{
timestamp: ...,
client: { ... },
type: 'stats_for_item2',
data: {
id: ObjectId('zzz'),
field3: 3,
field4: {
field5: [5, 1]
}
}
}
如您所见,我们有共同的部分和 data 字段,item1 和 item2 的不同字段很少。
似乎只有timestamp 和type 字段将被索引(当然还有_id)。并且此类物品的数量有限,总共有 3 种物品类型。写的多,读的少
那么,我的问题是,如何组织这样的结构?使用一个大集合stats 并将所有内容存储在那里?不会创建几个集合stats_item1、stats_item2 和stats_item3。什么是最优的?有什么好处吗?从 mongo 的角度来看,用于分片/索引/查询/锁定/等?
【问题讨论】:
标签: mongodb