我正在编写流星应用,并且我尝试在搜索框中添加自动填充功能。数据非常大并且在服务器上,因此我无法在客户端上拥有所有数据。它基本上是一个用户数据库。如果我没有错,mizzao:autocomplete包应该可以实现,但我似乎无法让它发挥作用。
这是我在服务器上的内容:
Meteor.publish('autocompleteViewers', function(selector, options) {
Autocomplete.publishCursor(viewers.find(selector, options), this);
this.ready();
});
以下是我用于客户端搜索框的设置:
getSettings: function() {
return {
position: 'bottom',
limit: 5,
rules: [{
subscription: 'autocompleteViewers',
field: '_id',
matchAll: false,
options: '',
template: Template.vLegend
}],
};
}
但我一直在客户端上收到此错误:
Error: Collection name must be specified as string for server-side search at validateRule
我真的不明白这个问题。当我查看包代码时,似乎它正在测试订阅字段是字符串而不是变量,它是什么。知道问题可能是什么?否则,我可以从某个地方找到最低限度的工作示例吗?我无法在文档中找到一个。
答案 0 :(得分:1)
Error: Collection name must be specified as string for server-side search at validateRule
您收到此错误是因为您没有在引号中指定Collection
名称。
getSettings: function() {
return {
position: 'bottom',
limit: 5,
rules: [{
subscription: 'autocompleteViewers',
field: '_id',
matchAll: false,
collection: 'viewers', // <- specify your collection, in your case it is a "viewers" collection.
options: '',
template: Template.vLegend
}],
};
}
有关详细信息,请参阅here。
希望这有帮助!