【问题标题】:Meteor and ordered collections (DDP client and observers)Meteor 和有序集合(DDP 客户端和观察者)
【发布时间】:2014-01-09 01:55:11
【问题描述】:

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

另外在cursor.observe(callbacks)我发现了如下回调函数 added(document) or addedAt(document, atIndex, before) 什么do 在这里表示?我会在这两个函数中收到通知,但出于性能考虑,我最好不要对它们中的每一个都进行回调?

【问题讨论】:

    标签: meteor ddp


    【解决方案1】:

    根据我对 DDP 协议的理解,至少目前尚未使用“有序集合”。

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

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

    这在当前的 DDP 规范中有所提及

    注意:有序集合 DDP 消息当前不被 Meteor 使用。 Meteor 将来可能会使用它们。

    【讨论】:

    • 好的,因此我现在假设将“添加”的项目放在集合的最后
    • @FlavienVolken 是的,这就是目前的情况,因为他们来了,新的被添加到最后。
    猜你喜欢
    • 2013-05-27
    • 1970-01-01
    • 2015-04-03
    • 2016-08-26
    • 1970-01-01
    • 2018-08-09
    • 1970-01-01
    • 2016-08-29
    • 1970-01-01
    相关资源
    最近更新 更多