我有一个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"
-
首先使用以下命令从本地 mongodb 数据库中导出数据
mongoexport --db=<DATABASE_NAME> --collection=<COLLECTION_NAME> --out=<FILENAME>.json
例如,对于集合名称为 cities 的名为 citiesDB 的数据库,我们将数据导出到命令行工作目录中名为 cities.json 的 json 文件中:
mongoexport --db=citiesDB --collection=cities --out=cities.json
-
其次,使用以下命令将数据导入图集
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 数据库工具