#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}})
Е.. Какую ошибку вы получили?