我正在編寫一個實用工具,它將工作中的關係數據庫轉換爲複雜的JSON對象並轉儲到按主題分組的文件。然後我想使用mongoimport
工具將這些文件導入到MongoDB集合中。MongoImport日期在世紀之前發生
我們的數據包括表示日期之前發生的日期的時間戳,其適當的JSON表示形式爲負數。雖然MongoDB本身將處理這些罰款,但導入工具JSON解析器使用unsigned long long
變量並失敗。
如果您使用Mongo的特殊JSON日期表示格式({"key": { "$date": "value_in_ticks" } }
),導入工具將在這些文檔上引發錯誤並跳過導入。您還可以使用JavaScript日期符號({"key": new Date(value_in_ticks) }
),該日期符號將被成功導入,但會被解析爲創建垃圾日期的無符號值。
特殊日期格式由於assertion checking for reserved words而失敗。此代碼已達到,因爲值的開頭出現負號會導致特殊的日期分析退出並返回到正常的文檔分析。
code to parse JSON dates顯式調用增強庫uint_parser
。存在該函數的簽名版本,並且issue on their JIRA tracker已經存在以利用它(我在其上評論過,我會嘗試)。
立即潛入代碼以嘗試更新此代碼進行簽名的缺點,現在是否有替代路線可以加載這些日期?
我想通過cron每個晚上運行幾個月進行測試,所以我寧願它很容易。這些日期存在於許多不同集合的文檔的許多不同部分,因此解決方案應該是一般化的。
雖然我沒有答案,但對於一個寫得很好的問題,請+1。 – UnkwnTech 2010-11-04 15:18:59