【发布时间】:2016-02-25 06:58:28
【问题描述】:
我正在构建一个 Meteor 应用程序,其中有一个产品集合。该集合中的每个文档都有两个字段:productName 和 productCategory。在我的应用程序中,我想显示给定类别的所有产品。所以我有一个选择字段,我想在其中选择一个类别。按下搜索按钮后,我想显示给定类别的所有产品的列表。
在我的模板中,我有以下代码来创建选择字段
<select>
{{#each distinct_products}}
<option>{{productCategory}}</option>
{{/each}}
<select>
在我的js文件中,distinct_product的定义如下:
Template.templatename.distinct_products = function() {
var distinctEntries = _.uniq(Meteor.products.find({}, {sort: {productCategory:1}, fields: {productCategory:true}}).fetch().map(function(x) {
return x.productCategory;
}), true);
return distinctEntries;
};
我在以下主题中找到了这个解决方案:Meteor: how to search for only distinct field values aka a collection.distinct("fieldname") similar to Mongo's
但是,我的选择字段显示的选项数量等于唯一产品类别的数量,但它是空值(无文本)。因此,我的选择字段有许多空选项,并且没有显示产品类别。
我想我的 JS 函数中返回值的类型有问题,但我不知道是什么。有人可以让我走上正确的道路吗?
谢谢。
【问题讨论】: