流星例のリーダーボードを投票アプリに変更しました。配列を持つドキュメントがいくつかあり、この配列には6つの値があります。この 6 つの値の合計は正常に機能しますが、アプリで値を更新して表示することはできません。
値をクリックすると、値が更新されるだけです。問題は、「selected_books」変数 (以前は selected_players) から書籍名 (書籍の投票アプリ) を取得することですが、書籍名を取得する方法がわかりません。
ちなみに、_idは本の名前です。私はあなたにいくつかのコードスニペットを提供し、誰かが解決策を持っていることを願っています.
これは私のデータベースからの文書です:
{
_id: "A Dance With Dragons: Part 1",
isbn: 9780007466061,
flag: 20130901,
score20130714: [1,2,3,4,5,0],
}
私のhtmlファイルの一部:
<template name="voting">
...
<div class="span5">
{{#each books}}
{{> book}}
{{/each}}
</div>
...
</template>
<template name="book">
<div class="book {{selected}}">
<span class="name">{{_id}}</span>
<span class="totalscore">{{totalscore}}</span>
</div>
</template>
そして私のJavascriptファイルの一部:
Template.voting.books = function () {
var total = 0;
var book = Session.get("selected_book");
Books.find({_id:book}).map(function(doc) {
for (i=0; i<6; i++) {
total += parseInt(doc.score20130714[i], 10);
}
});
Books.update({_id:book}, {$set: {totalscore: total}});
return Books.find({flag: 20130901}, {sort: {totalscore: -1, _id: 1}});
};
前もって感謝します