【发布时间】:2017-02-19 18:00:43
【问题描述】:
我很想知道meteor是否可以连接或显示RDBMS的内容,比如mysql。我有一个不断变化的数据库,如果我可以使用流星作为前端的 Web 服务器,那就太好了。
谢谢,
凉介
【问题讨论】:
我很想知道meteor是否可以连接或显示RDBMS的内容,比如mysql。我有一个不断变化的数据库,如果我可以使用流星作为前端的 Web 服务器,那就太好了。
谢谢,
凉介
【问题讨论】:
您可以通过提供一个 服务器端数据库驱动程序和/或实现的客户端缓存 替代 API。 mongo-livedata 是一个很好的起点 这样的项目。
所以,这是可能的。目前,meteor 项目中没有提到任何 RDBMS,可能有人已经启动了这样的项目/插件。或者你可以基于 mongo-livedata 实现来实现它。
【讨论】:
https://github.com/drorm/meteor-sql 是 mysql 的 livedata 的实现。它只是刚刚发布,所以它可能仍然包含一些错误,但我认为您会发现它是一个可行的选择。
【讨论】:
基本上,有3种方法可以实现:
1.- 在客户端使用 SQL Sintax:摆脱 minimongo 对分组和联合的限制。在客户端使用 Alasql 并规范化 mongo 集合。
2.- 使用 SQL 连接器:试试 numltel 的 MySql 连接器。缺点是它破坏了对流星的部署。
3.- 使用 mongo 作为关系数据库的从属,使它们保持同步。 MySql Shadow 使用这个。此外,您可能还想查看 symmetric.ds 以使用大量 Sql 引擎设置 mongo 双向复制。
我在这个 repo 中收集了我的研究:
【讨论】:
我看到这个问题有点老了。流星现在是 1.0.1。自从提出这个问题以来,显着的变化之一是 Meteor 如何能够跟踪 Mongodb OpLog。这使得订阅真正即时实时。之前的实现使用 10 秒轮询和差异。所以,是的,有一些项目可以为替代数据库开发驱动程序,但如果它们没有 OpLog 的等价物,那么它就不是实时的。
SQL 支持已经在路线图上,但还很遥远,直到 1.1+ https://twitter.com/meteorjs/status/399904048683290625
【讨论】:
绝对可以使用 Mysql 来代替 mongoDB,但是让应用程序与 mysql 后端反应可能会很棘手。
我确实找到了这个主题的演讲: https://www.youtube.com/watch?v=EJzulpXZn6g
这可能会使您的解决方案更容易。
【讨论】:
您好,目前有一个包Numtel MySQL,它不仅支持 MySQL 查询,还支持发布和订阅响应模式,非常适合运行流星应用程序,我们在生产应用程序中使用了这个包。
Numtel MySQL 包的示例代码位于GitHub。
由于流星支持的是 Nodejs,您可以使用受支持的软件包,例如 mysqljs,robfallows 还发布了一篇有关 Meteor 应用程序的示例文章 在Meteor blogs。
希望这能回答你的问题。
【讨论】:
我使用Meteor-mysql 包来实现与mysql 数据库的实时应用程序。将mysql更改为输出二进制日志需要进行少量配置,但其余部分完全完美无缺且流畅。希望这会有所帮助
【讨论】: