大多數Meteor都圍繞集合和遊標進行處理,並在收集文檔時出現並獲取符合條件的新文檔。然而,我正在處理更大的文檔,這些文檔包含多個字段,並且具有深度且不可預測的結構。在頂層有一個清晰的模式,但是一些子文檔是不可預知的json數據。如何使文檔的一部分在Meteor中不被反應
但是,讓我們來看一個簡單的例子:
Reports = new Mongo.collection('reports');
Meteor.publish('reports', function() {
return Reports.find({});
});
,然後在客戶端,我打開一個報告,把它放在屏幕上的使用並不只-HTML相當複雜的渲染功能,然後有嵌入在報告中的自由文本註釋字段。他們改變的時候,我想自動保存
Meteor.call("autosaveReport",reportId,comment);
再有就是寫在註釋
Meteor.methods({
"autosaveReport": function(reportId,comment) {
Reports.update({_id:reportId},{$set:{comment:comment}});
}
);
問題是,每一次註釋自動保存,流星跟蹤重播流星方法所有訂閱和發現都與本報告相關。而且由於報告很大且渲染複雜,該重新加載對用戶是可見的並且破壞了無縫自動保存的目的。
所以,問題 - 是否有可能觸發mongo文件的部分反應性?目前我已經通過手動比較渲染上的新舊文檔來解決這個問題,如果核心沒有區別,那麼停止重新渲染。這感覺很奇怪,並且對流星的精神。