Mongodb限制集合中的记录数

时间:2018-03-08 10:22:43

标签: mongodb

我希望将数据存储在一个集合中,该集合在从数据库中自动删除之前,最多可保存约10000条记录,如一个10k记录的FIFO队列。

我一直关注上限集合,但除了最大记录数外,它们还需要集合的最大大小。现在,我真的不知道10k记录将占用多少。如果我设置一个不能容纳10k记录的大小,我会比我需要的更小。另一方面,如果我设置大小的上限,空间将被浪费,因为mongo预先分配空间。

我能做的是获取虚拟记录,但我不知道如何检查每个文档的大小。

是否有人知道一种方法可以仅根据我馆藏中的文件数设定上限?立即使用mongo上的最新版本(v 3.6.3)

1 个答案:

答案 0 :(得分:1)

我亲自将10000个实际真实文档推入mongodb集合,然后在集合上调用stats

db.test.stats()

然后使用size属性:

> db.test.stats()
{
    "ns" : "test.test",
    "size" : 28609,
    "count" : 1018,
    "avgObjSize" : 28,

您可能还想添加一些填充,比如说该数字的10%:

cap col size = size * 1.1