1

次の問題があります: 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>

誰でも助けてくれることを願っています:)

4

1 に答える 1