【问题标题】:Mongodb import errorMongoDB导入错误
【发布时间】:2013-01-24 01:25:02
【问题描述】:

我在使用转储/恢复将 MongoDB 数据库从本地计算机移动到 MongoHQ.com 时遇到了问题。当我将转储恢复到 MongoHQ 时,它丢失了大约 10% 的文档,并且没有明显的错误。

为了解决问题,虽然我会在本地使用导出/导入来验证数据,但我在导入时遇到错误,但导出没有报告任何错误。我使用 json 格式进行导出。这是导入错误之一;

exception:BSON representation of supplied JSON is too large: code FailedToParse: FailedToParse: Date milliseconds overflow: offset:10357

它报告了大约 130k 个文档中的 726 个错误。基于该错误,我认为日期字段存在问题,但我无法弄清楚如何找到问题文档。我尝试进行维修但没有运气。
任何人都有想法尝试找出问题所在?

【问题讨论】:

  • 您可以尝试将 --objcheck 与 mongorestore 一起使用。也许还有 --verbose
  • 好建议,它使用 --objcheck 选项恢复没有错误,但导出/导入仍然在导入时报告相同的错误。我会看看能不能找到打开 450mb JSON 文件的工具,看看能不能找到看起来不正确的日期。

标签: json mongodb bson


【解决方案1】:

在这里我再次回答我自己的问题,希望它可以帮助其他人。

该问题出现在日期早于 1970 年 1 月 1 日(Unix 纪元)的任何文档上。我假设转储/恢复可以正常处理,但不能导出/导入,因为转储/恢复使用的是 BSON,而导入/导出使用的是 JSON 或 CSV。这是一个未解决的 MongoDB https://jira.mongodb.org/browse/SERVER-961 错误报告。

作为脚注,我最初使用来自 Ruby 的 Mongoid 加载了我的 MongoDB,它显然能够处理 1970 年之前的日期。

【讨论】:

  • 非常感谢您的更新。请对该问题进行投票以解决问题。
猜你喜欢
  • 2017-05-29
  • 1970-01-01
  • 2015-11-21
  • 2015-01-01
  • 2017-08-30
  • 2017-10-18
  • 2019-12-29
  • 2020-12-13
  • 2014-08-15
相关资源
最近更新 更多