限制mongodb文件增长超过8MB

时间:2016-08-25 06:29:59

标签: mongodb database

问题陈述:

我们要求将文档增长限制在8MB以上。(假设在这8MB中我们可以容纳7000个小日志) 一旦文档达到8MB,就应该对第二个文档进行进一步插入,具有相同的上述约束条件 如果在第一个文档中,几个日志条目被删除,那么在我们处理"预分配策略"

时将自动记录文件大小shrik

我提到mongodb的一些链接如下:: https://docs.mongodb.com/manual/core/data-model-operations/#data-model-document-growth

以上链接指出,有一个"预分配策略可明确避免文档增长"

我们的查询::

  1. 我们可以施加这样的约束(比如对集合的8MB限制)
  2. 如果(1)可以,请帮助我们实现此要求
  3. 提前致谢

1 个答案:

答案 0 :(得分:0)

首先,不,没有一种直接的方法可以在数据库端强制执行此类限制。如果您想强制执行此类限制,则需要在客户端应用程序中处理此问题。

其次,您提供的链接和预分配的概念实际上仅适用于MMAPv1存储引擎。在大多数情况下,您可能希望使用WiredTiger。

最后,请确保您了解创建此类大型文档的含义。即使8MB也非常大。在您确定存储模型的模型之前,请考虑如何读取/查询数据。如果您的访问模式是读取少量日志条目,那么以如此大的批量读取它们将是非常低效的。