【问题标题】:Can we use Meteor framework with mysql database我们可以将 Meteor 框架与 mysql 数据库一起使用吗
【发布时间】:2013-10-16 15:18:10
【问题描述】:

我发现很多 Meteor 框架的参考 url,我发现 mongodb 作为数据库,因为我对 mongodb 了解不多。那么有没有办法实现mysql而不是mongodb

【问题讨论】:

  • 我已经代表客户构建了一个 MySQL 包。他们希望将其作为开源版本发布,敬请期待。它最初是在 Dror 的版本中修复令人瞩目的问题,不久之后我意识到我需要完全重写它以供生产使用。
  • @matb33 我期待你的更新
  • 参考本页的答案。 [meteor-js-and-sql-server][1] [1]: stackoverflow.com/questions/15879752/…

标签: mysql node.js meteor


【解决方案1】:

一种方法,但在框架目前的阶段,它是一条未铺砌的道路。基本上,您需要编写一个包装器,将 SQL 转换为 Meteor 的 Minimongo 并返回。如果您还不是 Meteor 和 Mongo 大师,这不是一项可行的任务。

曾尝试编写此类适配器。我知道的最先进的是:https://github.com/drorm/meteor-sql。它可以用来玩耍,但我认为它还没有准备好生产。此外,目前 没有 方法可以将 Meteor 帐户系统与 Mongo 以外的任何东西一起使用。您要么需要将它用于用户帐户,要么放弃它们提供的极大便利。

我建议您尝试使用目前的 Meteor 以及 Mongo - 它比您想象的要容易。它不会增加太多的学习曲线,而且除了过滤器和更新操作符之外,您根本不会注意到您使用了一些奇怪的数据库 - 这就像使用原生 Javascript 对象一样。没有模式,没有迁移,也不需要对象映射。您只需获取数据,将其放入集合中,然后忘记 SQL 让您考虑的所有其他内容。

【讨论】:

【解决方案2】:

来自documentation

如今,大多数 Meteor 应用程序都使用 MongoDB 作为其数据库,因为它是 最好的支持,虽然对其他数据库的支持即将到来 未来。 Meteor.Collection 类用于声明 Mongo 集合并操纵它们。感谢 minimongo,Meteor 的 客户端 Mongo 模拟器,Meteor.Collection 可以从两者中使用 客户端和服务器代码。

由于客户端使用 minimongo,使用 RDBMS 可能无法提供最佳匹配(因为查询语言和数据结构非常不同)。

您可能对breeze.js 之类的东西感兴趣,它从不同的方向解决了丰富的数据同步服务的问题,但它适合关系数据库。

【讨论】:

    【解决方案3】:

    也许有办法做到这一点,但它很棘手:

    从 npm 安装 Mysql 驱动程序 然后您可以选择使用 MongoDb 作为第一个前端或来自 Arunoda 的 Meteor Streams。 然后你只需要使用 Meteor.Collections 中的拒绝/允许系统将插入/更新/删除从客户端绑定到 Mysql 您还应该使用发布系统查询Mysql数据库并将数据返回给客户端。

    最后一个问题是关于服务器数据库观察:如果 Mysql 发生变化,它不会提醒所有其他客户端,可能是 Meteor.Streams 除外。 实施起来可能会很有趣。

    【讨论】:

      【解决方案4】:

      你可以看看这个流星包nodets:mysql。 在服务器和客户端使用 mysql,每次 db 更改时,所有订阅都会更新。

      【讨论】:

        猜你喜欢
        • 2019-08-23
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2010-12-11
        • 1970-01-01
        • 2020-08-04
        相关资源
        最近更新 更多