我正在使用 Meteor 进行我的第一个项目,并且在排序时遇到了一些困难。
我有一个表单,用户可以在其中输入格言,然后将格言显示在列表中。目前最新的格言会自动显示在列表的底部。有没有一种简单的方法可以让最新的出现在列表的顶部?
我试过:
Template.list.aphorisms = function () {
return Aphorisms.find({}, {sort: {$natural:1}});
};
我很难过,因为 Meteor 文档没有很多例子。
我正在使用 Meteor 进行我的第一个项目,并且在排序时遇到了一些困难。
我有一个表单,用户可以在其中输入格言,然后将格言显示在列表中。目前最新的格言会自动显示在列表的底部。有没有一种简单的方法可以让最新的出现在列表的顶部?
我试过:
Template.list.aphorisms = function () {
return Aphorisms.find({}, {sort: {$natural:1}});
};
我很难过,因为 Meteor 文档没有很多例子。
假设date_created
是有效的日期格式以及时间戳,您应该插入date_created
使用Date.parse()
javascript 函数的解析值,它给出了 1970 年 1 月 1 日和包含在date_created
.
因此,最近添加的记录将包含 date_created
比在它之前插入的记录更大的值。
现在在获取记录时,按参数的降序对游标进行排序date_created
:
Aphorisms.find({}, {sort: {date_created: -1}});
这会将记录从新到旧排序。
希望这可以帮助。
我发现以下是更清洁的解决方案:
Template.list.aphorisms = function () {
return Aphorisms.find().fetch().reverse();
};
鉴于整个集合已经以您想要的相反顺序存在,您可以简单地创建一个包含所有对象的数组并反转顺序。