3

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

从这个(http://docs.meteor.com/#meteormongo)我收集到我可以使用 mongoDB shell 来处理我的本地数据库,但是通过查看http://docs.mongodb.org/manual/mongo/,我还没有弄清楚这是否是我应该遵循的为 Meteor 同步内容的路径。

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

4

4 回答 4

3

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

  1. MONGO_URL您可以通过设置环境变量来选择您正在使用的数据库
  2. 您可以从一个数据库转储数据并将其加载到另一个数据库(如果这是您想要做的)
于 2013-04-23T14:41:49.430 回答
2

我编写了一个用于下载 Production Meteor DB 的快速脚本。流星下载。简单如./download.sh origin.meteor.com

它还没有提供 2 路同步,但如果你愿意的话,这应该不会有太大的机会。

于 2013-11-13T01:36:46.373 回答
2

查看mongo-sync


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

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

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

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


mongo-同步演示 gif

于 2015-02-15T00:29:28.143 回答
2

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

我想到的第一种方法是使用副本。

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

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

另一种方法是使用mongodump将数据从数据库中转储出来并将其还原到您的开发机器上。

后两种是很常用的方法,第一种是我脑子里一直在想的一种。

于 2013-04-23T15:22:44.660 回答