我想在 Meteor 中实现基于参数的发布,但我遇到了一些问题。
这就是我所拥有的。
当用户键入订阅发布并传递输入值的 keyup 事件时。
'keyup #customerSearch': function(event, template){
var keyword = template.find('#customerSearch').value;
if(keyword){
if(keyword.length >= 3){
Meteor.subscribe('sessioncustomers', keyword);
}
}
}
发布使用此关键字返回记录。
Meteor.publish("sessioncustomers", function(keyword){
if(keyword ){
if(keyword.length >= 3){
query.name = new RegExp(regExpQuoted(keyword), 'i' );
Customers.find(query);
} else {
return null;
}
}else{
return null;
}
});
问题。它有效并且文档被接收,除非客户端更改关键字,或者更确切地说,当关键字更改时,出版物发布与关键字匹配的其他文档,但客户端集合从不删除旧文档。
如何从客户端集合中获取不再匹配的旧文档?
我认为由于订阅的参数发生了变化,不匹配的文档将被取消订阅,并且只会订阅新的匹配文档。