【问题标题】:Is it possible to publish/subscribe to a remote api instead of a collection in MongoDB?是否可以发布/订阅远程 api 而不是 MongoDB 中的集合?
【发布时间】:2014-07-30 22:51:45
【问题描述】:

我想从远程 api(通过 HTTP.get)检索数据并将其传递给客户端。目前我手动轮询数据并实现了一些模板助手,将数据传递给视图。

如果是 jquery 数据表,我使用 jquery-datatables 包,它需要一个已发布的集合。

有没有人提示我如何实现这个?

【问题讨论】:

  • 如果您在服务器上成功地从 API 检索数据,您不能只是将其插入到集合服务器端,然后在客户端订阅该集合,而不是传递数据以其他方式发送给客户?
  • 我考虑过这种方法,但如果可能的话,我不想拥有冗余数据。如果没有其他选择,我可能会走那条路,但对我来说有点“肮脏”。 :)
  • 这就是 Meteor 的真正设计方式,至少如果你想要反应性的话。在冗余数据上,如果您想要的话,应该很容易将您从服务器发布的数据限制为相关的 API 调用,然后在没有客户端订阅时通过批处理从数据库中删除任何旧数据.
  • 实际上,考虑到这一点,这迫切需要自定义发布功能。看看this video,它准确地展示了如何在没有 MongoDB 的情况下使用普通的 pub/sub 模型。
  • 非常感谢您提供视频链接。我现在对如何实现这一点并从反应性中受益有了一个概念。

标签: meteor


【解决方案1】:

仅适用于可能想知道如何解决此问题的其他人:

您可以在这里找到一个示例:https://github.com/avital/publish-time/blob/master/publish-time.js

代码显示在这个 20 分钟的视频中:https://www.youtube.com/watch?v=onCkNRE2q0c

这样您就可以在不使用 MongoDB 的情况下快速实现自定义发布/订阅。

@richsilv:再次感谢您为我指出正确的内容。

【讨论】:

    猜你喜欢
    • 2011-06-18
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-12-14
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多