我有一堆数据需要在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,但是我必须记得以后运行压缩。那么我现在可以(重新)设置填充因子吗?
答案 0 :(得分:0)
您可以在MongoDB 2.2 +中指定与compact()
一起使用的可选paddingFactor
:
paddingFactor :可选。仅适用于MMAPv1存储引擎。指定在压缩操作期间要使用的填充(作为文档大小的因子)。压缩完成后,paddingFactor不会影响后续记录分配的填充。