Mongodb 如何使用meteor实时搜索收藏,并仅显示匹配结果?
我正在尝试创建一个搜索,该搜索将过滤项目数据库,并在搜索输入下方显示匹配选项,以便用户可以原样选择“有效”选项。我得到了被过滤的项目的效果。但是,当搜索栏为空时,它会显示该集合中的所有项目。有没有一种方法可以防止这种情况,这样它只会在搜索开始后显示选项 HTMLMongodb 如何使用meteor实时搜索收藏,并仅显示匹配结果?,mongodb,meteor,Mongodb,Meteor,我正在尝试创建一个搜索,该搜索将过滤项目数据库,并在搜索输入下方显示匹配选项,以便用户可以原样选择“有效”选项。我得到了被过滤的项目的效果。但是,当搜索栏为空时,它会显示该集合中的所有项目。有没有一种方法可以防止这种情况,这样它只会在搜索开始后显示选项 HTML {{>搜索} {{#if searchResults.results} {{#每个searchResults.results} {{itemName}} {{/每个}} {{/if} JS 'keyup input.newI
{{>搜索}
{{#if searchResults.results}
{{#每个searchResults.results}
{{itemName}}
{{/每个}}
{{/if}
JS
'keyup input.newItem':函数(evt){
Session.set('search-query',evt.currentTarget.value);
var search=Session.get('search-query');
控制台日志(搜索);
},
});
Template.search.helpers({
搜索结果:函数(){
var关键字=Session.get('search-query');
var query=newregexp(关键字“i”);
var results=device.find({'itemName':query},{});
返回{results:results};
}
});
在模板中添加if
块:
<template name="addItem">
<form class="addNewItem">
<input type="text" class="newItem" name="newItem" placeholder=" + new item">
</form>
<ul>
{{#if searchInputNotEmpty}}
{{> search}}
{{/if}}
</ul>
</template>
Template.addItem.helpers({
searchInputNotEmpty: function() {
var input = Session.get('search-query');
return input != null && input != '';
}
});