Подтвердить что ты не робот

Как я могу сортировать коллекцию Метеор по времени вставки?

Я работаю над своим первым проектом с использованием Meteor, и у меня возникают трудности с сортировкой.

У меня есть форма, в которой пользователи вводят афоризмы, которые затем отображаются в списке. В настоящее время последние афоризмы автоматически отображаются в нижней части списка. Есть ли простой способ, чтобы самые последние появлялись в верхней части списка?

Я пробовал:

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

И я в тупике, потому что в документах Meteor не так много примеров.

4b9b3361

Ответ 1

Предполагая, что date_created находится в допустимом формате даты вместе с меткой времени, вы должны вставить проанализированное значение date_created с помощью функции Date.parse() javascript, которая дает количество миллисекунд между 1 января 1970 года и датой значение, содержащееся в date_created.

В результате этого последняя добавленная запись будет содержать большее значение date_created, чем предыдущая запись.

Теперь, извлекая записи, сортируйте курсор в порядке убывания параметра date_created как:

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

Это будет сортировать записи от более старых до более старых.

Надеюсь, что это поможет.

Ответ 2

Я нашел следующее решение:

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

Учитывая, что вся коллекция уже существует в обратном порядке, которую вы хотите, вы можете просто создать массив всех объектов и изменить порядок.