次の問題があります: Mongo データベースから Meteor コレクションを取得しています。このコレクションは、組み込みの 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 はコレクション内のストアであり、値は 0 です。これが、計算後に変更されないと仮定する理由です。
私のHTMLは次のようになります。
<div style="width: {{pctGood}}%;">{{pctGood}}%</div>
<div style="width: {{pctRest}}%;">{{pctRest}}%</div>
<div style="width: {{pctBad}}%;">{{pctBad}}%</div>
誰でも助けてくれることを願っています:)