如何使用DDP

时间:2015-07-13 06:58:53

标签: meteor ddp

我即将在我们的DDP服务器(https://github.com/cortexlang/web)中构建一个功能,允许用户订阅给定文档的历史值窗口。对历史值的简单订阅可能如下所示:

connection.subscribe("MyCollection", {history:{from_last:0, to_last:10}})

这将返回数组中MyCollection集合中每个文档的最后10个样本。例如,假设MyCollection包含一个具有单个数值的文档,则上述订阅的结果可能是:

[0, 2, 5, 3, 5, 6, 2, 1, 5, 5]

这些窗口可能非常大。因此,在添加新值时发送整个阵列将是浪费。相反,如果我只能将新值推送到客户端并推出旧值,那就太好了。

例如,假设我的文档更新了新值' 3'。我的数组现在看起来像:

[3, 0, 2, 5, 3, 5, 6, 2, 1, 5]

在这里,我本可以再次发送整个阵列。但是,如果我只能发送' 3'并删除' 5'那将会更有效率。

我注意到DDP在{{​​1}}消息中有一个cleared字段,允许DDP清除文档中的字段,但我还不能从文档中找出({{3如何从数组中删除元素。

0 个答案:

没有答案