如何将生产meteor js数据库与开发同步?

时间:2013-04-23 14:11:50

标签: mongodb meteor data-synchronization

我刚刚进入Meteor,并且同样是MongoDB的新手。我习惯于同步MySQL dbs(生产与开发),以便使用近实时数据运行新功能的测试。目前,我不知道如何用流星做到这一点。

从这个(http://docs.meteor.com/#meteormongo)我收集到我可以使用mongoDB shell来处理我的本地数据库,但是从查看http://docs.mongodb.org/manual/mongo/,我还没有想出这是否是路径我应该跟随为Meteor进行同步。

有没有人设置一个相对简单的程序来同步Meteor JS db,或者你能指出一些可以帮助我加快速度的资源吗?

4 个答案:

答案 0 :(得分:3)

不确定我理解这个问题,但是:

  1. 您可以通过设置MONGO_URL环境变量
  2. 来选择您正在使用的数据库
  3. 您可以dump来自一个数据库的数据并将其加载到另一个数据库(如果这是您想要做的事情)

答案 1 :(得分:2)

有几种有趣的方法可以做到这一点。

我考虑使用的第一种方法是使用副本。

您将拥有一个开发服务器数据库;我的意思是整个服务器专门用于容纳开发数据库(比如AWS上的云实例)。一旦您希望替换该开发实例,您只需从实时集中取出一个成员,然后将其作为替换开发实例的独立实例启动。

Anohter方法是将mongod目录复制到某处并启动mongod。最简单的方法,但可能不是最好的方法,特别是如果你有一个大的分布式数据库。

另一种方法是使用mongodump将数据转储出数据库并将其还原到开发计算机上。

最后两种是非常常见的方法,第一种方法是我脑子里想了一会儿的那种方法。

答案 2 :(得分:2)

我写了一个下载Production Meteor DB的快速脚本。 meteor-download。轻松./download.sh origin.meteor.com

它还没有提供双向同步,但如果你能够做到这一点,这不应该是太多的机会。

答案 3 :(得分:2)

查看mongo-sync


这是我为自己写的一个脚本,当我不得不经常将我的本地MongoDB数据库复制到项目的生产数据库中时(我知道它是愚蠢的)。

将数据库详细信息放入config.yml后,您可以使用两个简单的命令开始同步:

./mongo-sync push       # Push DB to Remote
./mongo-sync pull       # Pull DB to Local

如果您在某个项目中使用它,最好将config.yml添加到.gitignore


mongo-sync demo gif