2015-03-02 67 views
14

我正在开发一个新的应用程序,虽然我非常喜欢整个Meteor生态系统,但我有点关闭MongoDB的需求,主要是因为基于文档的数据库似乎是因为缺乏连接而将一个方形钉穿过一个圆孔,我的数据库设置将广泛使用。在流星中使用Reactive MySQL数据库(更新?)

似乎我需要对数据库进行“非规范化”操作,并且如果选择使用MongoDB,则需要大量重复数据,而且如果需要稍后更新重复数据,我还没有看到方便的方法被修改。

现在,我真的希望Meteor的离线数据库功能和同步实时更新,但似乎我的数据更适合经典的关系数据库。

所以,环顾四周,我看到Meteor had SQL support in its roadmap,而一些connectors已经written了,但我没有看到任何东西比2014年初甚至讨论它更新,所以没有人知道SQL的支持是流星?是否有推荐的项目添加它,或者是否使用了alpha?

回答

12

如果你想用mySQL玩Meteor,你最终会使用numtel/meteor-mysql package

确实有一个good example using mysql with the leaderboard example

看看到documentation here

如果你看一看到上trello sql support board斯拉瓦(核心开发者)的评论点入numtel包。

+0

感谢您指出的是,核心开发者似乎已经接受了包作为一个起点。我相信这意味着它的实现必须足够合理,我猜想一旦正式添加,语法不会有太大变化。谢谢。 – Ecksters 2015-03-04 10:50:36

3

基本上有3种方式来实现这一目标:

1.-使用SQL Sintax在客户端:摆脱minimongo对分组和工会的限制。在客户端上使用Alasql并对mongo集合进行规范化。

2.-使用SQL连接器:尝试numltel的MySql和PG连接器或meteor-stream PG连接器。缺点是他们打破了流星的部署。

3.-使用mongo作为关系数据库的从属,保持它们同步。 MySql Shadow使用这个。你也可能想看看symmetric.ds,用很多Sql引擎设置mongo双向复制。

我收集了我的研究在此回购:

https://github.com/vchigne/sqlAndMeteor

+0

最近还有一个官方回购发布的PostreSQL软件包: https://github.com/meteor-stream/meteor-postgres – Ecksters 2015-05-08 10:19:34

+0

@bummi更正。 – 2015-05-08 16:03:14

+1

@Eckster是的,它在我的回购中与numtel的一起提到。 – 2015-05-08 16:04:05