meteor:easy-搜索第一个查询returns空

meteor:easy-search first query returns empty

使用 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();

第一次获取输入,索引returns为空,第二次正常。当我改变输入时它是这样工作的:第一次是空的,第二次工作正常。我不知道为什么它会这样......有什么想法吗?

您必须给时间让您的搜索结果发布给客户。尝试将您的搜索包装在 Tracker.autorun 中,例如:

Tracker.autorun(() => {
  let userResults = UserIndex.search(input).fetch();
  console.log(userResults);
});

进行一次搜索后查看记录的结果;它们一开始是空的,但是当结果发布给客户端时,您会看到记录的正确结果。