在MongoDB中存储类似结构的更好方法是什么?为每个结构选择一个集合还是一个集合?有一个/几个的好处?为类似的数据结构选择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的角度来看,分片/索引/查询/锁定/等?