2012-03-21 42 views
2

封頂集合中的文檔可以更新,但不會增加文檔大小。我們需要更新文檔,因此存在一個問題 - 是否可以在第一次插入時預先分配空間並將其用於進一步更新。MongoDB預分配封頂集合中文檔的空間

類似於:插入文檔+ 1mb零,然後更新文檔減少「假」零。

+0

根據蓋帽集合的文檔規格似乎是可能的 – jdi 2012-03-21 08:17:40

+0

聽起來像是一個概念的快速證明的候選人,然後回答你自己的問題,爲社會其他部分的利益:) – 2012-03-21 08:48:37

+0

我的伎倆似乎工作! – Andrew 2012-03-21 09:39:43

回答

2

你基本上描述的是手動填充。我之前沒有在封頂收集的背景下做過,但沒有理由不起作用。一般而言,避免因更新而增加的文檔的昂貴移動是一個很好的做法。

我還建議人們在之前就這樣做過,事實上他們在看他們的模式中的嵌入與引用的優點/缺點(在博客中存儲最後5條評論,修復主字段的長度,對於所有的歷史參考,例如官方手冊填充文檔是在這裏:

http://www.mongodb.org/display/DOCS/Padding+Factor#PaddingFactor-ManualPadding

在加蓋的收藏,您可以更新,但不能成長爲你所提到的,但你可以插入更大的文件比在在那裏之前,較舊的文檔將不得不騰出空間並且多個可能「掉出」該集合。

相關問題