Javascript 使用map方法进行Meteor查询,尝试将索引设置为最后一个元素而不是第一个元素
我使用以下代码排除索引0上集合中的某些项,但我希望相反,并在添加内容时不断更改的最后一个索引号处排除它们,我不确定如何执行此操作。假设有4个索引项,我希望索引===4。我已经尝试在查询中将我的排序顺序从-1改为1,但由于某种原因,排序顺序没有改变,所以我不知道如何处理Javascript 使用map方法进行Meteor查询,尝试将索引设置为最后一个元素而不是第一个元素,javascript,map,indexing,meteor,Javascript,Map,Indexing,Meteor,我使用以下代码排除索引0上集合中的某些项,但我希望相反,并在添加内容时不断更改的最后一个索引号处排除它们,我不确定如何执行此操作。假设有4个索引项,我希望索引===4。我已经尝试在查询中将我的排序顺序从-1改为1,但由于某种原因,排序顺序没有改变,所以我不知道如何处理 Template.motionPictures.helpers({ posts: function() { var test = Posts .find({}, {f
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;
});
错误
一个简单的解决方案是获取帖子:
var posts = Posts.find(...).fetch();
var last = _.last(posts);
delete last.thumb;
...
return posts;
我有点不知所措,不知道该放什么进去。找。。。我把我相同的代码放在那里,它给了我一个错误,你能扩展一下吗。ThnaksIt应该与您以前拥有的相同,即查找{},{fields:{thumb:1,url:1,title:1,message:1},sort:{createdAt:-1}。你犯了什么错误?
var posts = Posts.find(...).fetch();
var last = _.last(posts);
delete last.thumb;
...
return posts;