【发布时间】:2014-09-27 12:49:35
【问题描述】:
我正在尝试将文档保存到 mongoDB 集群(分片副本集)并且遇到了一个奇怪的问题。我正在使用 pymongo 2.7.2 和 TokuMX 1.5 mongodb 2.4.10。
当我尝试保存(覆盖)现有文档时,出现异常,看起来我保存的文档太大:
doc = db.collection.find_one()
db.collection.save(doc)
pymongo.errors.OperationFailure: BSONObj size: 18798961 (0x71D91E01) is invalid. Size must be between 0 and 16793600(16MB) First element: op: "u"
但是这很好用:
doc = db.collection.find_one()
db.collection.remove({'_id': doc['_id']})
db.collection.save(doc)
有问题的文档大约是 9mb,所以当我尝试替换文档时,它看起来好像是文档大小的两倍,超过了 16mb 的限制。
关于什么可能导致这种行为的任何想法?
【问题讨论】:
-
我假设您忽略了代码清单中的修改。请张贴他们
-
@MarkusWMahlberg:不,我没有。在我的调试过程中,我已经将问题逐字简化为上述代码。当我不以任何方式修改数据时,就会出现问题——这就是我被难住的原因。