Mongodb 如何使用meteor实时搜索收藏,并仅显示匹配结果?

Mongodb 如何使用meteor实时搜索收藏,并仅显示匹配结果?,mongodb,meteor,Mongodb,Meteor,我正在尝试创建一个搜索,该搜索将过滤项目数据库,并在搜索输入下方显示匹配选项,以便用户可以原样选择“有效”选项。我得到了被过滤的项目的效果。但是,当搜索栏为空时,它会显示该集合中的所有项目。有没有一种方法可以防止这种情况,这样它只会在搜索开始后显示选项 HTML {{>搜索} {{#if searchResults.results} {{#每个searchResults.results} {{itemName}} {{/每个}} {{/if} JS 'keyup input.newI

我正在尝试创建一个搜索,该搜索将过滤项目数据库,并在搜索输入下方显示匹配选项,以便用户可以原样选择“有效”选项。我得到了被过滤的项目的效果。但是,当搜索栏为空时,它会显示该集合中的所有项目。有没有一种方法可以防止这种情况,这样它只会在搜索开始后显示选项

HTML


    {{>搜索}
{{#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>&nbsp;
    {{#if searchInputNotEmpty}}
    {{> search}}
    {{/if}}
    </ul>
    </template>
    
    Template.addItem.helpers({
      searchInputNotEmpty: function() {
        var input = Session.get('search-query');
        return input != null && input != '';
      }
    });