【发布时间】:2018-02-08 12:10:14
【问题描述】:
我使用mizzao/meteor-autcomplete 是为了在您键入查询时从 MongoDB 集合中返回匹配项。
如果我只搜索一个字段,我能够成功地做到这一点,但它不允许我搜索同一集合的多个字段。
我试图这样做:
Template.foo.helpers({
settings: function() {
return {
position: 'bottom',
limit: 5,
rules: [
{
collection: Models,
field: 'name',
matchAll: true,
template: Template.standardLegends,
},
{
collection: Models,
field: 'createdBy',
matchAll: true,
template: Template.standardLegendsOwner,
},
],
};
},
});
我查看了 github open issues,有一个类似的问题,他们说要使用 selector 函数来返回多个字段,但我真的不明白我应该做什么做。
这是该主题的链接: https://github.com/mizzao/meteor-autocomplete/issues/13
任何帮助将不胜感激。
进一步说明
这是从我的模型集合返回的数据集示例:
0:
_id:"KwTZmBC5qBcwK7kzR"
name:"drillCase.stl"
units:"mm"
createdBy:"Bob M"
createdDate:"Tue Aug 29 2017 03:19:10 GMT-0400 (EDT)"
1:
_id:"ljknbgwlkejb56"
name:"cone.stl"
units:"mm"
createdBy:"Michael C"
createdDate:"Tue Aug 29 2017 03:45:10 GMT-0400 (EDT)"
这是我目前用来显示自动完成结果的模板:
<template name="standardLegendsOwner">
<span class="fieldName" style="width: 500px">{{name}}</span>
</template>
假设我想返回与“createdBy”值“Bob M”相关联的所有项目。现在,如果我输入 Bob M,我会返回“drillCase.stl”,因为我们正在按“名称”字段进行搜索,并且在模板中我们会返回“名称”值。
所以我的问题是,是否可以在模板内设置一个条件语句来说明,如果您匹配的字段是“名称”返回名称值,否则返回“createdBy”值。
我现在遇到的问题是,如果我输入 Bob M. 并且他与多个对象相关联,那么它会返回与他匹配的第一个值。
【问题讨论】:
标签: javascript jquery mongodb meteor meteor-blaze