Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/67.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在postgresql中使用meteor_Sql_Postgresql_Meteor - Fatal编程技术网

在postgresql中使用meteor

在postgresql中使用meteor,sql,postgresql,meteor,Sql,Postgresql,Meteor,我想使用Meteor连接到我们的关系数据库(PostgreSQL)。有没有将Meteor连接到其他数据库的经验 我想我们必须编写自己的连接器,才能将Meteor的优秀功能与PostgreSQL结合使用 更新: 见下面的答案。由于这个问题仍然受到关注,这里是解决方案的链接 是的,您必须编写自己的连接器。 我也在为mysql寻找这样的东西,但我不认为,有人已经开始在这方面的任何努力。我很想知道,在这方面正在进行的任何努力 看看mysql的类似问题 目前最接近您所要求的是可用的,尽管它目前只支持MyS

我想使用Meteor连接到我们的关系数据库(PostgreSQL)。有没有将Meteor连接到其他数据库的经验

我想我们必须编写自己的连接器,才能将Meteor的优秀功能与PostgreSQL结合使用

更新: 见下面的答案。由于这个问题仍然受到关注,这里是解决方案的链接


是的,您必须编写自己的连接器。 我也在为mysql寻找这样的东西,但我不认为,有人已经开始在这方面的任何努力。我很想知道,在这方面正在进行的任何努力


看看mysql的类似问题

目前最接近您所要求的是可用的,尽管它目前只支持MySQL


也许你会考虑为项目提供支持PrgRESs?

< P>你可以添加对NPM包的支持

然后,您可以安装NPM PG包


它对我来说很好

不确定你是否还在寻找它,但这可能会有所帮助:

如果你像我一样,你喜欢流星,但讨厌蒙戈。在Meteor的Trello Roadmap()中,投票最多的特性是SQL支持,PostgreSQL或MySQL

因为《流星》中没有关于这一点的日期,所以这里我总结了我找到的部分解决方案

1.-仅对客户端查询使用SQL

**更新:alasql现在是meteor软件包:

您可以使用安装alaSQL

  meteor add agershun:alasql
AlaSQL和Meteor Mongo系列

现在可以使用Meteor集合作为参数。将SQL应用于Meteor集合:

Template.body.helpers({
   tasks: function () {
     return alasql('SELECT * FROM ?',[Tasks]);
   }
});
或者,您可以将find()选项与函数中的特殊METEOR()一起使用:

return alasql('SELECT * FROM ?',[Tasks]);
return alasql('SELECT * FROM METEOR(?)',[Tasks]);
return alasql('SELECT * FROM METEOR(?,?)',[Tasks,{text:"Hello world!"}]);
return alasql('SELECT * FROM METEOR(?,{text:"Hello world!"})',[Tasks]);
让我们面对现实吧,Mongo不喜欢常见的数据操作,因此能够使用SQL查询数据(使用连接、GRUP等)将减轻很多痛苦。有一些软件包允许您在客户机中使用SQL,至少对于querys是这样的:最简单的软件包是一个旧的(2010)实用程序,SqlLike()。镇上的新玩家是alaSQL,它由@Agersun()积极开发。SqlLike的优点是它只有10k。当然,AlaSQL的功能要强大得多,但是对于在联合和聚合中使用SQL取代mongo sintax,SqlLike是可以的

使用这两种工具,您可以在助手中执行以下操作:

    productsSold:function(){
    var customerSalesHistory=salesHistory.find({cutomerId:Session.get('currentCustomer')}).fetch();
    var items=products.find().fetch();
    return alasql("select item.name, sales.ordered as sumaVentas from ? sales, ? items
      where items.Id=sales.itemId",[customerSalesHistory,items]);
}
2.-试验直接SQL支持

一些软件包试图用MySql或PostgreSQL替换Mongo(和minimongo)@numtel的MySql包是Meteor MySql,PostgreSQL是Meteor pg()。这两种方法都是解决问题的好方法,但都存在一些问题,而且在适应上有些麻烦

Hack反应堆的一个团队已经形成了Meteor Stream,它的第一个产品是PostgreSql与Meteor的集成,Meteor postgres()。它看起来非常好,在客户端使用alaSql来替换minimongo

两种方法都很好,但都存在一些问题:

他们中断了对流星的部署。 他们非常非常年轻,还没有接近生产准备阶段 它们仍然需要对我们所习惯的通常的pub-sub-sintax进行调整,这可能会引起与其他meteor软件包的兼容性问题。 3.-仍然使用Mongo,但作为MySql数据库的简单存储库

此选项维护Meteor的所有特性,并使用Mongo作为MySql或PostgreSql数据库的临时存储库

@perak()的mysql shadow是一个很好的尝试。它做到了它所说的,保持Mongo与MySql的双向同步,让您在MySql中处理数据

坏消息是,开发人员将不会继续维护它,但所做的工作足以处理简单的场景,在这些场景中,您没有更新其他表或类似内容的复杂触发器

要实现功能齐全的同步,可以使用SymmetricDS(),这是一个经过良好测试的数据库复制器。当然,这涉及到设置一个新的java服务器,但这是确保您能够在一个简单的存储库中转换Mongo数据库的最佳方法,该存储库包含真实的MySql、PostgreSQL、SQL server和Informix数据库。我还得自己检查一下

目前,MySQL Shadow似乎是一个足够好的解决方案

这种方法的一个优点是,您仍然可以使用所有标准Meteor功能、包、Meteor部署等。你不需要做任何事情,只需要设置同步机制,你不会破坏任何东西


此外,如果有一天Meteor团队使用SQL集成中筹集的部分资金,你的应用程序更有可能按原样工作。

PostgreSQL现在是实验性的。

你为什么讨厌Mongodb?因为我讨厌非规范化数据库和Mongo使用的查询语言。你为什么讨厌非规范化数据库和Mongos查询语言?我正试图弄清楚人们在没有sql dbs的情况下的经历,如果能听到你的经历,我将不胜感激。@AgentZebra我觉得自己像维克多。我的主要问题是Mongo不符合ACID。另外,我在SQL数据库方面有15年以上的经验,在NoSQL方面有0年(实际上是0天)的经验。这家伙省去了我详细解释的麻烦。他说: