2

ダンプ/復元を使用して MongoDB データベースをローカル マシンから MongoHQ.com に移動する際に問題が発生しました。ダンプを MongoHQ に復元すると、ドキュメントの約 10% が欠落しており、明らかなエラーはありません。

トラブルシューティングのために、エクスポート/インポートをローカルで使用してデータを検証し、インポートでエラーが発生しましたが、エクスポートでエラーが報告されませんでした。エクスポートにはjson形式を使用しました。インポート エラーの 1 つを次に示します。

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

約 130k のうち 726 のドキュメントでエラーが報告されます。エラーに基づいて、日付フィールドに問題があると思いますが、問題のあるドキュメントを見つける方法がわかりません。仕方なく修理してみました。
誰が何が間違っているのかを見つけようとする考えを持っていますか?

4

1 に答える 1

7

ここで私は自分の質問にもう一度答えています。うまくいけば、他の人の助けになります。

この問題は、Unix エポックである 1970 年 1 月 1 日より前の日付のドキュメントで発生します。ダンプ/復元は問題なく処理できますが、エクスポート/インポートは処理しないと想定しています。これは、ダンプ/復元が BSON を使用し、インポート/エクスポートが JSON または CSV を使用しているためです。これは、MongoDB https://jira.mongodb.org/browse/SERVER-961の未解決のバグ レポートです。

脚注として、最初に Ruby の Mongoid を使用して MongoDB をロードしましたが、これは 1970 年より前の日付を処理できたようです。

于 2013-01-23T17:25:02.950 に答える