2

我在使用转储/恢复将 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 个错误。基于错误,我认为日期字段存在问题,但我无法弄清楚如何找到问题文档。我尝试进行维修,但没有运气。
任何人都有想法尝试找出问题所在?

4

1 回答 1

7

在这里,我再次回答我自己的问题,希望对其他人有所帮助。

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

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

于 2013-01-23T17:25:02.950 回答