MongoDB为封顶集合中的文档预分配空间

时间:2012-03-21 08:06:11

标签: mongodb

可以更新上限集合中的文档,但不会增加文档大小。我们需要更新文档,因此有一个问题 - 是否可以在首次插入期间预先分配空间并将其用于进一步更新。

类似:插入文档+ 1mb的零,然后更新文档减少“假”零。

1 个答案:

答案 0 :(得分:2)

您实际描述的是手动填充。我之前没有在上限集合的环境中完成它,但没有理由它不起作用。一般来说,避免因更新而增长的文档的昂贵移动是一种很好的做法。

我还建议SO之前的人在他们的模式中查看嵌入与参考的优点/缺点之前做到这一点(在博客中存储最后5条评论,修复主要字段的长度,参考例如,所有历史记录,官方手册填充文档都在这里:

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

在上限集合中,您可以更新但不会像您提到的那样增长,但是您可以插入比以前更大的文档,旧文档将不得不腾出空间而多个可能会“脱离”集合。