我正在从一个数据库导出数据并将数据导入另一个数据库。当我使用mongo 2.6在机器上导出数据时,但是当我使用mongo2.4在vm上导入数据时。两个mongod实例都在运行2.4。
我一直有这个错误:

Wed Jun  4 13:13:32.604 check 0 0
Wed Jun  4 13:13:32.604 imported 0 objects
Wed Jun  4 13:13:32.604 ERROR: encountered 1 error(s)
failed: [192.168.140.30] => (item=collection) => {"changed": true, "cmd": "mongoimport -u username -p password -d db -c collection --drop --jsonArray /tmp/collection.json ", "delta": "0:00:00.026383", "end": "2014-06-04 13:13:33.091774", "item": "collection", "rc": 255, "start": "2014-06-04 13:13:33.065391"}
stdout: connected to: 127.0.0.1
Wed Jun  4 13:13:33.089 dropping: <db.collection>
Wed Jun  4 13:13:33.089 exception:BSON representation of supplied JSON array is too large: code FailedToParse: FailedToParse: Date expecting integer milliseconds: offset:171

导出的日期格式如下
{ "date" : { "$date" : "2014-06-02T06:39:28.869-0700" }

我已经验证了在与MongoExport相同的机器上使用MongoImport可以正常工作,因此我假设MongoImport/Export从2.4到2.6之间存在兼容性问题。由于防火墙的限制,我需要使用两台不同的机器来移动数据。
有人能为这个问题做些好的工作吗?据我所知,我还没有看到以旧格式导出的选项。我也无法从发行说明中看出是什么导致了兼容性错误。

最佳答案

我最终使用了mongodump和mongorestore,而不是mongoimport和mongo export。使用bson文档代替json没有兼容性问题。

10-04 21:32