Meteor 和有序集合(DDP 客户端和观察者)

标签 meteor ddp

我为meteor制作了一个DDP客户端并实现了有序集合。 基本上我实现了 DDP spec 中的“added”和“addedBefore”方法。但我对解释它们的正确方式存有疑问。最初,我认为服务器将在集合中(专门)使用“added”或“addedBefore”,具体取决于它是否已订购。但有序和无序集合听起来很无稽之谈。所以我的问题是:“added”消息是否应该简单地解释为“addedBefore”的别名 (before == null) 即添加到集合的最后?

也在cursor.observe(callbacks)中我发现以下回调函数 add(document) or addedAt(document, atIndex, before) 是什么意思 or 在这里?我是否会在这两个函数中收到通知,但出于性能考虑,我最好不要对每个函数都进行回调?

最佳答案

根据我对 DDP 协议(protocol)的理解,至少目前,meteor 还没有使用“有序集合”。

需要使用客户端集合来运行查询,使用 minimongo 来观察本地变化,然后触发观察者触发器。您必须实现自己的观察方法,对传入的无序集合数据进行排序,以触发added/addedAt/addedBefore 类型监听器。他们开火的方式取决于你。

即使您实现了这些方法,服务器也永远不会发布这些方法,至少目前是这样。

当前的 DDP 规范中提到了这一点

NOTE: The ordered collection DDP messages are not currently used by Meteor. They will likely be used by Meteor in the future.

关于Meteor 和有序集合(DDP 客户端和观察者),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20699628/

相关文章:

javascript - IronRouter waitOn、数据和 onAfterAction 困惑

javascript - 如何查看 meteor DDP流量?

meteor - DDP.connect 和 Meteor.users

android - 如何使用 Android DDP 从 Meteor 服务器获取集合?

javascript - meteor HTTP "GET"调用

meteor - 如何完全卸载然后重新安装Meteor.js?

javascript - MongoDB - 查找今天之前和之后的单个日期

javascript - 使用空格键时如何检查匹配的字符串?

javascript - Meteor - 为什么我应该尽可能使用 this.userId 而不是 Meteor.userId() ?

ssl - 通过 SSL 与 Meteor 应用程序建立 DDP 连接