Meteor Collection 消除重复项

Meteor Collection eliminate duplicates

我有一个 collection 电影位于类别下,但我有一个视图应该显示所有这些。

当我展示全部时,我有一些重复的,因为这些电影属于多个类别。

我正在尝试在助手(客户端)中使用此代码。

我发现这段代码可以让我得到所有没有重复的标题:

var distinctMovies = _.uniq(Movies.find({}, {
    sort: {"title": 1},
}).fetch().map(function(x) {
    return x.title;
}), true);

这似乎可以消除重复,因为我得到了一个包含 241 个标题而不是 251 个标题的数组。 但是,我想要一个包含整个 object 的数组,而不是仅包含标题的数组,但是当我按 x 切换 x.title 时,我得到相同的 251 个项目。

我正在尝试更改此代码以获取整部电影 object 并且还尝试不 运行 额外的循环。

如何实现?

根据 _.uniq 文档:

If you want to compute unique items based on a transformation, pass an iteratee function.

这样做:

_.uniq(Movies.find({}, { sort: { title: 1 } }).fetch(), function (movie) {
    return movie.title;
});

对我有用:

Template.theater_list.theater=function(){
var cities = _.uniq(Theater.find({}, {sort: {city:1}, fields: {city:true}}).fetch().map(function(x) {
return x.city
}),true);


    return cities;