我有以下问题:我正在从我的 Mongo 数据库中检索 Meteor Collection。此集合应通过内置的 handlebar.js 解析为 HTML。在此之前,我想要么更改集合中的值而不将其保存到数据库,要么将新值添加到集合而不保存它。
这是因为插入的数据取决于在运行时完成的计算。
我尝试了以下内容:
var topics = Topic.find({}, {sort: {votes: -1}});
var totalUsers = Meteor.users.find({}).count();
topics.forEach(function(topic){
var numberOfGoodVotes = topic.votes.goodVotes.length;
var numberOfBadVotes = topic.votes.badVotes.length;
topic.pctGood = (numberOfGoodVotes*(100/totalUsers));
topic.pctBad = (numberOfBadVotes*(100/totalUsers));
topic.pctRest = 100 - topic.pctGood - topic.pctBad;
});
不幸的是 pctGood/Bad/Rest 都是 0,这是不可能的。在这种情况下,pctGood/Bad/Rest 是我的 Collection 中的存储,并且值为 0。这就是为什么我假设它在计算后不会更改。
我的 HTML 如下所示:
<div style="width: {{pctGood}}%;">{{pctGood}}%</div>
<div style="width: {{pctRest}}%;">{{pctRest}}%</div>
<div style="width: {{pctBad}}%;">{{pctBad}}%</div>
希望任何人都可以提供帮助:)