Mongo - 手动(重新)设置填充因子

时间:2015-04-07 22:49:29

标签: mongodb

我有一堆数据需要在mongo集合中播种。在高级别,目标是将每个元素分成父文档,并定期更新数据库(这是一个长时间运行的过程,我想创建保存点,以防脚本出错)。这是伪代码:

for element in dataset :
    {
        "akey" : adoc
        ...
    }[element["key"]]["elements"].append(element)

    if(periodically())
        print(status())
        db.sums.update({"name":"akey"},adoc)
        ...

当我运行db.sums.stats()时,我的paddingFactor接近4.0,因为mongo认为我的文档有增长的习惯。这很不幸,因为我只会在这里添加大而静态的文档。我现在可以运行紧凑,但这不会改变集合的填充因子。我可以等待填充因子收敛到1,但是我必须记得以后运行压缩。那么我现在可以(重新)设置填充因子吗?

1 个答案:

答案 0 :(得分:0)

您可以在MongoDB 2.2 +中指定与compact()一起使用的可选paddingFactor

  

paddingFactor :可选。仅适用于MMAPv1存储引擎。指定在压缩操作期间要使用的填充(作为文档大小的因子)。压缩完成后,paddingFactor不会影响后续记录分配的填充。