我有以下问题:我有一个界面,用户可以根据几个输入过滤掉内容。有 5 个输入。填写输入后,我想将其值添加到返回集合的助手中。我无法解决的问题是如何动态地做到这一点。有时用户可能会填写一个输入,有时是三个,有时是全部 5。在 find() 方法中,您只能写下流星的语法:
mongoSelector: fieldName,
这意味着您只能在 find() 中对内容进行硬编码。但是仅仅添加所有 5 个选择器是行不通的,因为如果其中一个值为空,则 find 会搜索一个空字符串而不是什么都没有。
我想过做条件或变量,但由于所需的语法,两者都不能在 find 中工作。我能做些什么来解决这个问题?
var visitorName;
var visitorAge;
Session.set('visitorName', visitorName);
Session.set('visitorAge', visitorAgee);
Template.web.helpers({
visitors: function() {
return Visitors.find({ visitor_name: Session.get('visitorName'), visitor_age: Session.get('visitorAge') });
}
});
Template.web.events({
"change #visitor_name": function (event, template) {
visitorName = $(event.currentTarget).val();
}
});
Template.web.events({
"click #reset_filter": function (event, template) {
return Visitors.find();
$(input).val('');
}
});