【问题标题】:BSONObj size error in mongodbmongodb中的BSONObj大小错误
【发布时间】:2014-03-21 04:47:39
【问题描述】:

断言:10334:BSONObj 大小:27624158 (0xDE82A501) 无效。大小必须介于 0 和 16793600(16MB) 之间 第一个元素:_id: ObjectId('5329dd954a33b081be667532') 。 运行 .js 文件时出现上述错误。 我有两个收藏城市和国家,有超过 1500 万条记录,我正在对这两个收藏中的一些文件进行索引。可能是什么问题?

【问题讨论】:

    标签: mongodb


    【解决方案1】:

    听起来您的索引或文档已损坏。

    我会按以下顺序尝试以下两种方法之一:

    1. 修复数据库 http://docs.mongodb.org/manual/reference/command/repairDatabase/

    2. 如果您能够删除具有 id 的相应文档: ObjectId('5329dd954a33b081be667532')。

    【讨论】:

    • 当我们执行 find 命令时,它是否加载到 RAM 中?如果我们在查询时排除 _id 字段,如果它不是 reqd,是否会有益?
    【解决方案2】:

    偶然发现了类似的问题。我在$group操作阶段为_id传递的字段在某些文档中不存在,因此聚合管道抛出BSONObj size: 18441867 (0x119668B) is invalid的错误。

    添加{field_for_group:{$exists:true}} 后问题已为我解决 在聚合管道的$match 阶段。

    【讨论】:

      猜你喜欢
      • 2019-02-13
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-04-06
      • 1970-01-01
      • 2012-04-27
      • 2012-09-21
      相关资源
      最近更新 更多