Meteor.js:查找所有文档并以反向自然顺序返回

Erl*_*d V 8 meteor mongodb-query

我正在尝试返回集合中的所有文档,以便在我的模板中使用{{#each}}.我的代码看起来像这样:

return Answers.find({}, {sort: {$natural:-1}})

但文件按自然顺序返回(不反向).有谁知道为什么?我从MongoDB文档中获得了$ natural选择器,所以我看不出有什么问题.

soh*_*ifa 3

不知道为什么它不以相反的顺序返回。

array.sort()但是您可以在模板帮助器方法中创建一个数组,并使用或函数返回数组的反转array.reverse()

例如:假设您的Answers集合如下所示:

Answers({ansNo: 1, ansBody: "body1"},
        {ansNo: 2, ansBody: "body2"},
        {ansNo: 3, ansBody: "body3"});
Run Code Online (Sandbox Code Playgroud)

并且要返回的数组是:

var AnswersArr = new Array();
Run Code Online (Sandbox Code Playgroud)

然后在你的模板助手中:->

var tempCollection = Answers.find({});
tempCollection.forEach(function(data){
    var obj = {ansNo: data.asnNo, ansBody: data.ansBody};
    AnswersArr.push(abj);
});

AnswersArr.sort(function(a, b){return b.ansNo - a.ansNo;});  //sort in reverse order

return AnswersArr;
Run Code Online (Sandbox Code Playgroud)