我刚刚进入Meteor,并且同样是MongoDB的新手。我习惯于同步MySQL dbs(生产与开发),以便使用近实时数据运行新功能的测试。目前,我不知道如何用流星做到这一点。
从这个(http://docs.meteor.com/#meteormongo)我收集到我可以使用mongoDB shell来处理我的本地数据库,但是从查看http://docs.mongodb.org/manual/mongo/,我还没有想出这是否是路径我应该跟随为Meteor进行同步。
有没有人设置一个相对简单的程序来同步Meteor JS db,或者你能指出一些可以帮助我加快速度的资源吗?
答案 0 :(得分:3)
不确定我理解这个问题,但是:
MONGO_URL
环境变量答案 1 :(得分:2)
有几种有趣的方法可以做到这一点。
我考虑使用的第一种方法是使用副本。
您将拥有一个开发服务器数据库;我的意思是整个服务器专门用于容纳开发数据库(比如AWS上的云实例)。一旦您希望替换该开发实例,您只需从实时集中取出一个成员,然后将其作为替换开发实例的独立实例启动。
Anohter方法是将mongod
目录复制到某处并启动mongod
。最简单的方法,但可能不是最好的方法,特别是如果你有一个大的分布式数据库。
另一种方法是使用mongodump
将数据转储出数据库并将其还原到开发计算机上。
最后两种是非常常见的方法,第一种方法是我脑子里想了一会儿的那种方法。
答案 2 :(得分:2)
我写了一个下载Production Meteor DB的快速脚本。 meteor-download。轻松./download.sh origin.meteor.com
它还没有提供双向同步,但如果你能够做到这一点,这不应该是太多的机会。
答案 3 :(得分:2)
这是我为自己写的一个脚本,当我不得不经常将我的本地MongoDB
数据库复制到项目的生产数据库中时(我知道它是愚蠢的)。
将数据库详细信息放入config.yml
后,您可以使用两个简单的命令开始同步:
./mongo-sync push # Push DB to Remote
./mongo-sync pull # Pull DB to Local
如果您在某个项目中使用它,最好将config.yml
添加到.gitignore