在使用 mongo 的时候遇到如下问题:

org.bson.BsonSerializationException: Payload document size of is larger than maximum of 16777216.

这个问题经过分析以及查阅资料,发现是由于单个文档的大小超过了16MB的限制所导致的,对遇到过这个问题的人来说,这个16MB很好理解, 而对于还未意识到这个问题的人来说,这个’坑’ 可能会让你花时间都难以发现,因为这又要牵扯到mongodb的另一个存储机制 ---- 无返回码,什么意思呢? 就是mongodb的插入,删除等操作, 客户端向数据库发出请求之后,是不需要等待数据库返回操作是否成功的返回结果。这也是mongodb插入,更新等操作速度快的原因。
当单个文件超过16MB之后, 程序并不会报错, 但此时, 数据已经无法插入数据库了。