我已将流星示例排行榜更改为投票应用程序。我有一些带有数组的文档,在这个数组中有 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}});
};
提前致谢