我试图找出订阅单个文档中特定更改的正确模式。一个例子将更好地突出我正在尝试做的事情。比如说,我有一个用于博客文章的 Mongo 文档,其中又包含一个评论列表。现在,我有一个查询来查找该博客文章:Posts.findOne("<id">)
,它会被动地更新我的模板:
<template name="post">
<h1>{{title}}</h1>
{{#each comments}}
{{> comment this}}
{{/each}}
</template>
问题是,当该帖子发生任何变化时(通常是人们添加评论时的评论列表),查看该帖子的每个人都会刷新整个内容。我宁愿 1) 设置某种特定于字段的侦听器,和/或 2) 进行一些手动拦截以说“发布更新时,检查更新的内容,并根据更改的内容更新某些内容(例如,仅更新已更新的评论,或者,看起来有一条新记录 - 让我们添加它)”。
我知道这种事情在文档级别是可行的Collection.observe
(例如,随着新文档的出现和消失,您可以精细控制以查看发生了什么变化),但是在文档中呢?我想我可以通过将当前文档存储在会话中来做到这一点,然后当文档更新并且我收到响应式查找命令的通知时,将新文档与旧文档进行比较,但这是最好的方法吗?我错过了一些明显的东西吗?
非常感谢任何指导!