Mongodb 使用会话更改Meteor排序顺序?

Mongodb 使用会话更改Meteor排序顺序?,mongodb,meteor,Mongodb,Meteor,我有这样的想法: var getArticles = function one() { return articles.find({}, {sort: {'published': -1, 'votes': -1}, limit: 100}); }; 我想把排序顺序从“发布”改为“投票”。我认为你可以通过以下方式来实现: Template.mytemplate.events({ 'click .sort_by_votes': function () { Session.set('ord

我有这样的想法:

var getArticles = function one() {

return articles.find({}, {sort: {'published': -1, 'votes': -1}, limit: 100});

};
我想把排序顺序从“发布”改为“投票”。我认为你可以通过以下方式来实现:

 Template.mytemplate.events({
 'click .sort_by_votes': function () {

Session.set('order', 'votes');
return getArticles();

 } 
});

但我一点运气都没有。有人知道如何做到这一点吗?

您必须使用
会话。获取
会话。等于
,并确保不拆分帮助程序函数和事件函数

e、 g

然后是模板助手

Template.mytemplate.articles = function() {
    var sort = {published:-1, votes:-1};

    if(Session.equals("order", "votes")) sort["votes"] = 1

    articles.find({}, {sort: sort, limit: 100});
}
这是为了连接到您的
mytemplate
模板:

<template name="mytemplate">
    {{#each articles}}
         ...
    {{/each}}
</template>

{{#每篇文章}
...
{{/每个}}
<template name="mytemplate">
    {{#each articles}}
         ...
    {{/each}}
</template>