在 Meteor 中使用反应式 MySQL 数据库(更新?)

Using Reactive MySQL Databases in Meteor (An Update?)

我正在开发一个新的应用程序,虽然我真的很喜欢整个 Meteor 生态系统,但我对 MongoDB 的要求有点反感,主要是因为基于文档的数据库似乎把一个正方形由于缺少连接,我的数据库设置会广泛使用它。

如果我选择使用 MongoDB,我似乎需要 "denormalize" 我的数据库并且有很多重复数据,而且我还没有找到更新数据库的方便方法复制数据,如果以后需要修改。

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

所以,环顾四周,我已经看到 Meteor had SQL support in its roadmap, and that some connectors have been written,但我什至没有看到比 2014 年初更新的任何内容,甚至讨论它,所以有人知道 SQL 在 Meteor 中的支持吗?是否有添加它的推荐项目,或适当的 alpha 版本?

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

真的有good example using mysql with the leaderboard example.

看看 documentation here

如果您查看 trello sql support board Slava(核心开发人员)指向 numtel 包的评论。

基本上,有 3 种方法可以实现:

1.- 在客户端使用 SQL 语法:摆脱对分组和联合的迷你mongo 限制。在客户端使用 Alasql 并规范化 mongo 个集合。

2.- 使用 SQL 连接器:尝试 numltel 的 MySql 和 PG 连接器,或 meteor-stream PG 连接器。缺点是它们会破坏对流星的部署。

3.- 使用mongo 作为关系数据库的从站,使它们保持同步。 MySql Shadow 使用这个。此外,您可能还想查看 symmetric.ds 以设置 mongo 双向复制与许多 Sql 引擎。

我在这个 repo 中收集了我的研究:

https://github.com/vchigne/sqlAndMeteor