使用meteor easy-search我的用户集上有一个索引:
UserIndex = new EasySearch.Index({
collection: Meteor.users,
fields: ['username', 'realname', 'bio', 'email'],
engine: new EasySearch.MongoDB(),
});
我的客户端的查询:
var userResults = UserIndex.search(input).fetch();
我第一次获取输入时,索引返回空,第二次正常工作。当我改变输入时它会这样工作:第一次空,第二次工作正常。我不知道为什么它会那样......任何想法?
答案 0 :(得分:1)
您必须抽出时间将搜索结果发布到客户端。尝试将搜索包装在Tracker.autorun
中,例如:
Tracker.autorun(() => {
let userResults = UserIndex.search(input).fetch();
console.log(userResults);
});
进行一次搜索后观察记录的结果;它们将开始为空,但随后结果发布到客户端,您将看到记录的正确结果。