Meteor:返回列表过滤器的唯一记录

时间:2014-12-17 22:39:17

标签: function meteor filtering

您好我有一个简单的过滤器,允许用户根据每个列表中包含相关帖子的单个下拉列表来过滤帖子列表。

换句话说,它允许您使用“威廉斯堡最喜欢的饮品位置”列表过滤所有帖子

但是,我只希望该列表在下拉列表中显示一次(现在它将显示3次,例如,如果它有3个与该列表关联的帖子)。这是辅助函数......

Template.userListsFilter.helpers({
  userlistsfilter: function() {
  var currentUser = Meteor.userId();
      return Posts.find({userId: currentUser, postlistid: { $exists : true }        },{sort:{postlistname:1} },{reactive:true});
  }
});

1 个答案:

答案 0 :(得分:0)

如果您在客户端,可以使用下划线包中的函数uniq完成此操作。在服务器上,这可以直接使用节点mongo驱动程序完成。

我假设唯一字段为postListName。对于客户端,代码可能是这样的。

var query = Posts.find({userId: currentUser, postListId: { $exists : true }},{sort:{postListName:1} });
var postListNames = query.map( function( post ){ return post.postListName });  
postListNames = _.uniq( postListNames );