我正在使用一个模板助手,它返回特定游标与来自另一个游标的文档的每次迭代之间的比较。'inside' 值存储在 'City' 集合中。
我知道在“Places”集合中的每个文档上存储一个唯一的“内部”值可以解决这个问题,但是你只能在每个“城市”的一个地方“内部”,这将是一个性能问题。
帮手:
Template.listPlaces.helpers({
places: function () {
return Places.find({});
},
insidePlace: function () {
return City.findOne({_id: this._id}).inside === places._id;
}
]);
模板:
<ul>
{{#each places}}
{{#if insidePlace}}Active{{else}}Inactive{{/if}}
{{/each}}
</ul>
我知道一个解决方案是运行一个游标观察器,每次更新 City.inside 时,它会使用“内部”值更新 Session 变量,但我想知道是否有更好的解决方案。