Meteor 流星+;未使用正确的数据更新数据

Meteor 流星+;未使用正确的数据更新数据,meteor,reactjs,minimongo,Meteor,Reactjs,Minimongo,我正在关注最新的流星并做出反应。我正在使用服务器上的mongo$text搜索功能过滤查询。我发现我的本地数据没有改变,即使查询正在服务器上正确地重新运行 我的组件如下所示: TodoLists = React.createClass({ mixins: [ReactMeteorData], getMeteorData() { Meteor.subscribe('todoLists', this.props.query); const todoLists = TodoLis

我正在关注最新的流星并做出反应。我正在使用服务器上的mongo
$text
搜索功能过滤查询。我发现我的本地数据没有改变,即使查询正在服务器上正确地重新运行

我的组件如下所示:

TodoLists = React.createClass({
  mixins: [ReactMeteorData],
  getMeteorData() {
    Meteor.subscribe('todoLists', this.props.query);
    const todoLists = TodoLists.find().fetch();

    //print out 1
    console.log(todoLists);
    return {
      todoLists
    };

    // same as:
    // return {
    //   todoLists: TodoLists.find().fetch()
    // };
  },
  ....
});
在服务器上,我有:

Meteor.publish('todoLists', function(query) {
      //if no search query
      if (!query) {
        return TodoLists.find();
      }

      //searching...
      const todoLists = TodoLists.find({ 
        $text: {
          $search: query
        }
      });

      //print out 2
      console.log(todoLists.fetch());
      return todoLists;
    }
  });
有趣的是,我发现当
this.props.query
更改时,服务器上的发布功能会运行,并按照指示将过滤结果打印到控制台(打印2)。但是,当我在客户端(打印输出1)上打印来自
TodoLists.find().fetch()
的结果时,我只得到所有结果,就好像没有进行过滤一样


这段代码不起作用有什么原因吗?为什么结果在服务器上与预期一致,但在客户端却不正确?

我想到了两件事:是否启用了“自动发布”?或者您对同一个收藏有其他订阅吗?请注意,在客户端,来自每个活动订阅的所有数据都合并到集合中。原来我对同一集合有另一个订阅!没想到他们会合并在一起。我将接受以下回答:)我想到两件事:您是否启用了“自动发布”功能?或者您对同一个收藏有其他订阅吗?请注意,在客户端,来自每个活动订阅的所有数据都合并到集合中。原来我对同一集合有另一个订阅!没想到他们会合并在一起。我接受你的回答:)