Метеорный запрос с методом map, пытающийся установить индекс на последний элемент вместо первого

#javascript #map #indexing #meteor

#javascript #Карта #индексирование #meteor

Вопрос:

У меня есть следующий код, который я использую для исключения определенных элементов в коллекции с индексом 0, однако я хотел бы поступить наоборот и исключить их с последним номером индекса, который продолжает меняться по мере добавления содержимого, я не уверен, как это сделать. Итак, допустим, есть 4 элемента индекса, которые я хочу динамически индексировать === 4. Я попытался изменить порядок сортировки на 1 с -1 в запросе, но по какой-то причине это не меняет порядок, поэтому я не уверен, как подойти к этому.

 Template.motionPictures.helpers({
      posts: function() {
      var test =
        Posts
            .find({}, {fields: {thumb: 1, url: 1, title:1, message:1}, sort: {createdAt: -1}})
            .map(function(post, index) {


              if (index === 0) {

                delete post.thumb;
                delete post._id;
                delete post.title;
                delete post.message;
                return post;

                } else {
                delete post.url;
                //console.log(post);
                return post;
              }
            });

            //var b = test.splice(1,1);

            //console.log(b);



            return test;
        }



    });
  

ОБНОВИТЬ КОД

 Template.motionPictures.helpers({


    var posts = Posts.find({}, {fields: {thumb: 1, url: 1, title:1, message:1}, sort: {createdAt: -1}}).fetch();
    var last = _.last(posts);

    delete last.thumb;


    return posts;



});
  

ОШИБКА

 While building the application:
client/views/posts/posts_lists.js:61:9: Unexpected identifier
  

Ответ №1:

Простое решение — извлечь сообщения:

 var posts = Posts.find(...).fetch();
var last = _.last(posts);

delete last.thumb;
...

return posts;
  

Комментарии:

1. Я немного запутался в том, что нужно вставить в .find(…) я вставил туда свой же код, и он выдал мне ошибку, не могли бы вы расширить, возможно. Thnaks

2. Это должно быть то же самое, что и у вас было раньше, т. find({}, {fields: {thumb: 1, url: 1, title:1, message:1}, sort: {createdAt: -1}}) Е.. Какую ошибку вы получили?