2014-09-29 50 views
3

当我的集合上的文档更改为特定值时,我想在流星服务器上触发事件,例如某些字段从false更改为true。服务器集合更改时的流星触发事件

我熟悉绑定事件给客户端;但是,我希望只在服务器状态发生更改时调用此事件,特别是我的集合中给定文档的值。我想在发生这种情况时从服务器触发外部HTTP调用,因为我需要向外部应用程序发送消息。

+0

嗨,Jab。我试图触发一个事件发送电子邮件,当一个特定的集合更新。你设法做到了吗? – felipebueno 2014-12-07 21:27:37

+1

@buenoFelipe不,我还没有设法做到这一点。我解决这个问题的方式只是简单地绑定所有尝试更改集合的方法,以在尝试更改集合之前在服务器上调用Meteor.method(通过Meteor.call)。 Meteor.method将包含我在事件中添加的功能(在这种情况下为电子邮件发送功能) – jab 2014-12-07 21:49:55

+2

@buenoFelipe您也可以尝试使用cursor.observeChanges()来玩游戏。 http://docs.meteor.com/#/full/observe – jab 2014-12-07 21:51:07

回答

0

也有点晚,但这种类型的问题最经典的解决方案是使用非常流行的meteor-collection-hooks库。特别是,您可能想要使用.after.update钩子(点击链接获取完整文档),通过比较doc(更新后的文档),可以在对文档进行更新并比较之前和之后钩入特定集合)到this.previous(更新前的文档)。