我有单独的开发和生产MongoDB服务器,我想在开发服务器中保留实际数据一段时间。我应该使用它:mongodump,mongoimport或其他什么?
Clarification:我想将数据从生产复制到开发。
答案 0 :(得分:9)
并且您希望精确控制参数,例如要同步的集合,您应该使用:
这是我为自己写的一个脚本,当我不得不经常将我的本地MongoDB
数据库复制到项目的生产数据库中时(我知道它是愚蠢的)。
将数据库详细信息放入config.yml
后,您可以使用两个简单的命令开始同步:
./mongo-sync push # Push DB to Remote
./mongo-sync pull # Pull DB to Local
如果您在某个项目中使用它,最好将config.yml
添加到.gitignore
答案 1 :(得分:8)
您可以使用db.copyDatabase(...)
或db.cloneDatabase(...)
命令:
http://www.mongodb.org/display/DOCS/Copy+Database+Commands
这比mongodump / mongorestore快,因为它会跳过在磁盘上创建bson表示。
答案 2 :(得分:1)
如果希望dev数据库看起来与生产数据库完全相同,则只需复制文件即可。我目前正在运行一个设置,我在我的桌面和我的笔记本之间使用Dropbox同步我的MongoDB数据库 - 即使它完美无瑕。