将本地计算机上的MongoDB迁移到Mongo Atlas

时间:2019-04-21 18:25:01

标签: python-3.x mongodb mongodb-atlas

我在本地计算机上运行了一个MongoDB,其中包含一些数据集合。我想将其迁移到Atlas,但实时迁移服务不适用于免费套餐。有没有其他方法可以将我当前在计算机上拥有的数据移至Atlas?

3 个答案:

答案 0 :(得分:1)

您可以使用mongodump和mongorestore选项。

mongodump --host x.x.x.x --port 27017 --db dbname --gzip --out / data /

mongorestore --host x.x.x.x --port 27017 --db dbname --gzip / data /

从您的计算机中获取mongoDB转储,并将其还原到地图集。

答案 1 :(得分:0)

这对我有用:

从本地计算机转储:

mongodump --host x.x.x.x  --port 27017 --db <database> --username <user> --password <password> --gzip --out "C:\\data"

还原到Atlas MongoDB:

mongorestore --uri mongodb+srv://<user>:<passowrd>@<x.x.mongodb.net>/<database>  --gzip  "C:\\data"

答案 2 :(得分:0)

  1. 首先使用以下命令从本地mongodb数据库中导出数据

    mongoexport --db=<DATABASE_NAME> --collection=<COLLECTION_NAME> --out=<FILENAME>.json
    

    例如。对于名为 cityDB 且集合名为城市的数据库,我们将数据导出到命令行工作目录中名为 city.json 的 json 文件中:

    mongoexport --db=citiesDB --collection=cities --out=cities.json
    
  2. 其次,使用以下命令将数据导入到图集

    mongoimport --uri mongodb+srv://<USERNAME>:<PASSWORD>@<CLUSTER_HOST_NAME>/<DATABASE> --collection <COLLECTION> --type <FILETYPE> --file <FILENAME>
    

    例如。用于将上述示例导入到图集:

    mongoimport --uri mongodb+srv://admin-ayush:Pass123@cluster0.cebcs.mongodb.net/citiesDB --collection cities --type json --file cities.json 
    

P.S. 这两个命令必须在普通命令行中执行,不能在 mongo shell 中执行,还需要安装 mongoDB Tools 才能运行 mongoimport。链接:mongoDB Database tools