Meteor开发场景下如何完整导出导入Mongodb staging数据库到本地
MongoDB Staging 全库迁移到本地(Meteor开发场景方案)
你之前用到的集合层级导入导出是mongoexport/mongoimport工具,全库迁移请使用官方自带的mongodump(导出)和mongorestore(导入)工具,支持一次性导出完整数据库的所有集合、索引、元数据,不需要逐个操作集合,以下是可行方案:
方案一:MongoDB通用全库迁移方案(推荐)
- 第一步:导出Staging完整数据库
命令格式:mongodump --uri "<Staging数据库连接串>" -o <本地导出目录路径>
示例:如果Staging库连接串为mongodb://user:pass@staging-host:27017/staging_db,执行命令:mongodump --uri "mongodb://user:pass@staging-host:27017/staging_db" -o ./staging_dump
执行完成后会在./staging_dump目录下生成和数据库同名的文件夹,包含全库的BSON数据和索引元数据。 - 第二步:导入到本地数据库
命令格式:mongorestore --uri "<本地Mongo连接串>" --drop <上一步导出的数据库文件夹路径>
示例:如果本地目标库地址为mongodb://localhost:27017/local_db,执行命令:mongorestore --uri "mongodb://localhost:27017/local_db" --drop ./staging_dump/staging_db
其中--drop为可选参数,作用是导入前清空本地目标库的已有数据,避免数据冲突。
方案二:Meteor本地开发环境专属迁移方案
如果你的本地数据库是Meteor启动时自带的内置Mongo服务,可以按以下步骤操作:
- 第一步:启动你的Meteor项目,保持运行状态
- 第二步:按方案一的第一步操作导出Staging完整数据库
- 第三步:Meteor内置Mongo默认端口为3001(对应Meteor运行在3000端口的场景),默认连接串为
mongodb://localhost:3001/meteor - 第四步:执行导入命令:
mongorestore --uri "mongodb://localhost:3001/meteor" --drop ./staging_dump/staging_db - 导入完成后重启Meteor项目即可读取全量迁移数据。
注意事项
- 迁移前请确认本地Mongo和Staging环境的Mongo大版本差不超过1个正式版本,避免出现兼容性问题
- 如果Staging库开启了访问IP限制,需要先把你本地的公网IP加入Staging数据库的白名单,否则无法执行导出操作
- 若数据库体量较大,可以在导出命令中添加
--gzip参数开启压缩,减少导出文件体积,导入时同样添加--gzip参数即可
内容的提问来源于stack exchange,提问作者Vijay Reddy
相关产品推荐
相关产品推荐

