当前位置:   article > 正文

mongodb 中的"坑"系列 --- 单个文档16M大小限制_mongodb修改 bson size

mongodb修改 bson size

   习惯了使用mongodb中文档(document)存储方式, 可以灵活的将大量数据存入一个集合中的一条文档中, 这样可以减少大量的数据冗余, 不会出现关系性数据库, 如myslq中表的某一列的数据冗余. 不过这样存储虽好, 但其实也会存在一定的问题, 也就是mongodb中的大小限制, 即单个文档大小不能超过16M. 


    对遇到过这个问题的人来说, 这个16M的'概念'很好理解, 而对于还未意识到这个问题的人来说, 这个'坑' 可能会让你花时间都难以发现, 因为这又要牵扯到mongodb的另一个存储机制 ---- 无返回码. 在 < mongodb 权威指南> 一书中, 作者称之为离弦之箭. 什么意思呢, 就是mongodb的插入,删除等操作, 客户端向数据库发出请求之后, 是不需要等待数据库返回操作是否成功的返回结果. 这也是mongodb插入,更新等操作速度快的原因. 这就导致, 当单个文件超过16M之后, 程序并不会报错, 但此时, 数据已经无法插入数据库了.

上代码说明问题:

  1. <span style="font-size:18px;">__author__ = 'ray'
  2. import pymongo
  3. import codecs
  4. def mongo_test():
  5. fin = codecs.open('test_data.txt', 'r', encoding='UTF-8') # test_data是一个测试文件
声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/盐析白兔/article/detail/734415?site
推荐阅读
相关标签
  

闽ICP备14008679号