我正在尝试将文档保存到 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 的限制。
关于什么可能导致这种行为的任何想法?