我为meteor创建了一个DDP客户端并实现了一个有序的集合。 基本上我实现了DDP spec中的“added”和“addedBefore”方法,但我对于解释它们的方法存在疑问。最初,我认为服务器将在集合中使用(仅限)“添加”或“addedBefore”,具体取决于是否订购。但是,有序和无序的集合听起来是无稽之谈。所以我的问题就出现了:“添加”消息是否应该被解释为带有(在= = null之前)的“addedBefore”的别名,即要添加到集合的最后?
同样在cursor.observe(callbacks)我发现以下回调函数已添加(文档) 或 addedAt(document,atIndex,before)这里的含义是什么?或?我会在这两个函数中得到通知,但是对于表演问题,我最好不要对每个函数进行回调吗?
答案 0 :(得分:2)
至少,根据我对DDP协议的理解,流星并未使用“有序集合”。
需要使用minimongo使用客户端集合运行查询,以在本地监视更改,然后触发观察者触发器。您必须实现自己的observe方法,该方法对传入的无序集合数据进行排序,以触发添加/ addedAt / addedBefore类型侦听器。他们解雇的方式取决于你。
即使你实现了这些方法,服务器也不会发布这些方法,至少呢。
目前的DDP规范
中提到了这一点注意:Meteor目前不使用有序的收集DDP消息。它们很可能在未来被Meteor使用。