我正在用流星做我的第一个项目,在排序方面有一些困难。我有一个表单,用户可以在其中输入格言,然后将其显示在列表中。目前,最新的格言会自动显示在列表的底部。有没有一种简单的方法可以让最新的格言显示在列表的顶部?我试过:
Template.list.aphorisms = function () { return Aphorisms.find({}, {sort: {$natural:1}}); };
我被难倒了,因为流星文档没有太多的例子。
yduiuuwa1#
假设date_created是有效的日期格式沿着时间戳,您应该使用Date.parse() javascript函数插入date_created的解析值,该函数给出1970年1月1日和date_created中包含的日期值之间的毫秒数。因此,最近添加的记录包含的date_created值将大于之前插入的记录。现在,在获取记录时,按照date_created参数的降序对光标进行排序,如下所示:
date_created
Date.parse()
Aphorisms.find({}, {sort: {date_created: -1}});
这将从新到旧对记录进行排序。
k2fxgqgv2#
我发现以下是一个更干净的解决方案:
Template.list.aphorisms = function () { return Aphorisms.find().fetch().reverse(); };
假设整个集合已经以您希望的相反顺序存在,您可以简单地创建一个包含所有对象的数组,然后颠倒顺序。
2条答案
按热度按时间yduiuuwa1#
假设
date_created
是有效的日期格式沿着时间戳,您应该使用Date.parse()
javascript函数插入date_created
的解析值,该函数给出1970年1月1日和date_created
中包含的日期值之间的毫秒数。因此,最近添加的记录包含的
date_created
值将大于之前插入的记录。现在,在获取记录时,按照
date_created
参数的降序对光标进行排序,如下所示:这将从新到旧对记录进行排序。
k2fxgqgv2#
我发现以下是一个更干净的解决方案:
假设整个集合已经以您希望的相反顺序存在,您可以简单地创建一个包含所有对象的数组,然后颠倒顺序。