0

流星例のリーダーボードを投票アプリに変更しました。配列を持つドキュメントがいくつかあり、この配列には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}});
};

前もって感謝します

4

1 に答える 1