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



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

您可以使用 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转储并将其恢复到图集。

这对

我有用:

从本地计算机转储:

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"
  1. 首先使用以下命令从本地 mongodb 数据库中导出数据

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

    例如,对于集合名称为 cities 的名为 citiesDB 的数据库,我们将数据导出到命令行工作目录中名为 cities.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>
    

    例如,将上述示例导入 Atlas:

    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 数据库工具

最新更新