mongodb 如何按插入时间对流星收藏进行排序?

enxuqcxy  于 2022-12-26  发布在  Go
关注(0)|答案(2)|浏览(141)

我正在用流星做我的第一个项目,在排序方面有一些困难。
我有一个表单,用户可以在其中输入格言,然后将其显示在列表中。目前,最新的格言会自动显示在列表的底部。有没有一种简单的方法可以让最新的格言显示在列表的顶部?
我试过:

Template.list.aphorisms = function () {
    return Aphorisms.find({}, {sort: {$natural:1}});
};

我被难倒了,因为流星文档没有太多的例子。

yduiuuwa

yduiuuwa1#

假设date_created是有效的日期格式沿着时间戳,您应该使用Date.parse() javascript函数插入date_created的解析值,该函数给出1970年1月1日和date_created中包含的日期值之间的毫秒数。
因此,最近添加的记录包含的date_created值将大于之前插入的记录。
现在,在获取记录时,按照date_created参数的降序对光标进行排序,如下所示:

Aphorisms.find({}, {sort: {date_created: -1}});

这将从新到旧对记录进行排序。

k2fxgqgv

k2fxgqgv2#

我发现以下是一个更干净的解决方案:

Template.list.aphorisms = function () {
      return Aphorisms.find().fetch().reverse();
   };

假设整个集合已经以您希望的相反顺序存在,您可以简单地创建一个包含所有对象的数组,然后颠倒顺序。

相关问题