2014-02-21 41 views
0

我是mongodb的新手,我想創建以下簡單模式。嵌入的mongodb模式設計或參考

,我將描述它在關係的思考: 3表 - >公司,產品涉及

公司有關一對多的交易功能。 產品是相關的一對多的交易。

所以交易表是公司和產品 之間的聯繫,這將具有以下結構

DEAL_ID | company_id | product_id | extra_fields

我應該如何將這個結構實現爲mongodb?我應該使用嵌入式建模還是參考? 你有什麼建議?

預先感謝您。

+1

這取決於...看到這裏:http://docs.mongodb.org/manual/applications/data-models/ – heinob

+0

我同意@heinob,這一切都取決於你有什麼數據和你將如何去用它。現在還沒有確切的答案說這樣或那樣做。除非你想獲得關於你想**的事情的具體**,否則其他任何事情都只是猜測。 –

回答

0

爲此,我將使用3個表格完成與您在平面,非hierachal或結構化SQL關係數據庫中完全相同的操作。

你可以說交易會嵌入到公司,也許他們可能會成交,但是如果交易經常變化,你可能會看到由於非原地更新而導致的頂級文檔中的碎片。

就地更新由不需要文檔移動到磁盤另一部分以便能夠存儲的指定。這當然要比需要移動到磁盤的新的連續部分的磁盤要快得多,而且要小得多。不僅如此,如果你不幸的話,剩下的空間可以留在那裏,而不會被填滿。

解決這種情況的唯一方法是定期運行db.repair(),某些用戶出於某種原因執行此操作。

而是考慮到這一點以及交易的使用和查詢模式,我認爲他們應該進入他們自己的表格。