0
我有一個MongoDB數據庫,它有兩個主要集合。數據庫存儲不時到達的原始數據以及Web應用程序使用的已處理數據。有關MongoDB中主索引的良好做法
RAW
:這裏我存儲了永遠不應該被修改的原始數據。只有當新的原始數據到達時,纔可以插入新的文檔。爲了舉例,我們可以假定這個集合中的每個文檔都對應一個產品。PRODUCTS
:這裏我存儲了也對應於產品的文檔(我在RAW
中存儲的同一組產品,但是這裏的產品有一些額外的字段)。一般的想法是,一旦新的原始數據到達,新的文檔也被插入到這個集合中,但是首先我計算一些額外的度量標準並向新文檔添加額外的字段。這個集合還與Web應用程序通信,用戶不僅可以瀏覽數據,還可以修改某些字段(這是我希望RAW
與Web應用程序完全分離的原因之一)。
因此,這裏的問題:我應該在兩個集合單獨ObjectId
主索引(所以他們_id
字段之間沒有關係),或者是好於兩個集合使用相同的_id
。
這在我看來,第二種方法可能會更好,因爲它節省了我的PRODUCTS
集合中建立一個索引(否則我將不得不維持兩個_id
和其他一些領域的指標,通過它我就可以將文檔從地圖PRODUCTS
至RAW
)。
但是,我也相信這個策略可能存在問題,我沒有看到。
所以,我將不勝感激這個問題的任何提示。
謝謝!我想我會堅持在兩個集合中重複使用相同的'_id',因爲我需要維護它們之間的映射,所以我可以很容易地判斷'RAW'的哪個產品尚未移動到'PRODUCTS'。 – sztal