哪一个是Mongodump VS Mongoexport升级mongoDB数据库的首选?

for*_*t17 8 mongodb mongorestore mongodump

我的客户使用mongoDB 2.4,因为这个版本有一些限制,我们给他们选择升级到最新的稳定的mongoDB 3.4.5.

在MongodDB 2.4中使用mongodump和在Mongodb 3.4.5中使用mongorestore的初步测试工作正常,因为我可以看到导入的所有集合.

从文档mongorestore中没有提到它可以从旧版本的mongoDB恢复转储.

由于我们不能使用mongorestore,我可以使用" mongoexport "以旧的mongoDB 2.4的csv/json格式导出数据,并导入更新版本的mongoDB 3.4吗?

使用"mongoexport/mongoimport"而不是"mongodump"升级到更新版本的mongoDB 3.4会有什么问题?

注意:我将完全删除旧版本的mongoDB,并将安装较新版本的mongoDB

Vin*_*ren 17

Mongodump和Mongorestore更好,因为:

  1. 他们跑得更快
  2. 它们比mongoexport和mongoimport更好地保留了一些数据格式,因为数据不会从BSON转换为JSON并返回.

MongoImport上MongoDB Docs中所述:

警告
避免使用mongoimport和mongoexport进行完整的实例生产备份.它们不能可靠地保留所有丰富的BSON数据类型,因为JSON只能表示BSON支持的类型的子集.使用MongoDB备份方法中描述的mongodump和mongorestore来实现此类功能.

另外,使用mongorestore时要非常小心升级; 只是因为数据像以前一样被恢复,这并不意味着新版本的MongoDB可以使用它.例如,在v2.4之后对授权模型进行了一系列更改,这意味着您必须先升级到v2.6,然后再升级到v3.0.每个主要版本都有类似的结构变化,因此建议您逐步升级,一次升级一个主要版本,

  1. v2.4 - > v2.6
  2. v2.6 - > v3.0
  3. v3.0 - > v3.2
  4. v3.2 - > v3.4