単一のドキュメント内の特定の変更を購読するための正しいパターンを見つけようとしています。例は、私がやろうとしていることをよりよく強調します。たとえば、ブログ投稿用の Mongo ドキュメントがあり、このドキュメントにはコメントのリストが含まれているとします。現在、そのブログ投稿を見つけるためのクエリがあります: Posts.findOne("<id">)
、これは私のテンプレートを反応的に更新します:
<template name="post">
<h1>{{title}}</h1>
{{#each comments}}
{{> comment this}}
{{/each}}
</template>
問題は、その投稿に関する何かが変更された場合 (通常は、コメント リストに追加されたコメント)、その投稿を表示しているすべてのユーザーが全体を更新することです。私はむしろ、1) フィールド固有のある種のリスナーをセットアップする、および/または 2) 「更新を投稿するときは、更新内容を確認し、変更内容に応じて何かを更新する (たとえば、更新のみ)」と言うために、少し手動でインターセプトを行います。更新されたコメント、または新しいレコードがあるように見える - 追加しましょう)".
この種のことはドキュメント レベルで実行可能であることは知っていますCollection.observe
(たとえば、新しいドキュメントが出入りするたびに、何が変更されたかを細かく制御できます)。しかし、ドキュメント内ではどうでしょうか。現在のドキュメントをセッションに保存し、ドキュメントが更新され、リアクティブな検索コマンドによって通知されたら、新しいドキュメントと古いドキュメントを比較することでできると思いますが、それが最善の方法ですか? 明らかな何かが欠けていますか?
どんなガイダンスも大歓迎です!