大多数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文件的部分反应性?目前我已经通过手动比较渲染上的新旧文档来解决这个问题,如果核心没有区别,那么停止重新渲染。这感觉很奇怪,并且对流星的精神。