在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的角度來看,分片/索引/查詢/鎖定/等?