【问题标题】:Meteor query with map method, trying to set index to last element instead of first使用 map 方法进行 Meteor 查询,尝试将索引设置为最后一个元素而不是第一个元素
【发布时间】:2014-08-19 14:07:16
【问题描述】:

我有以下代码用于排除索引 0 上的集合中的某些项目,但是我想相反并在最后一个索引号排除它们,当我添加内容时它会不断变化,我不是确定如何做到这一点。所以假设有 4 个索引项我想要 index === 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

【问题讨论】:

    标签: javascript map indexing meteor


    【解决方案1】:

    一个简单的解决方案是获取帖子:

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

    【讨论】:

    • 我有点迷失在 .find(...) 中的内容,我在那里输入了相同的代码,它给了我一个错误,你能不能扩展一下。谢谢
    • 它应该和你之前的一样,即find({}, {fields: {thumb: 1, url: 1, title:1, message:1}, sort: {createdAt: -1}})。你遇到了什么错误?
    猜你喜欢
    • 2015-04-20
    • 2021-12-28
    • 2019-03-10
    • 2019-05-16
    • 1970-01-01
    • 1970-01-01
    • 2016-04-09
    • 2015-07-26
    • 1970-01-01
    相关资源
    最近更新 更多