Meteor 流星+;未使用正确的数据更新数据
我正在关注最新的流星并做出反应。我正在使用服务器上的mongoMeteor 流星+;未使用正确的数据更新数据,meteor,reactjs,minimongo,Meteor,Reactjs,Minimongo,我正在关注最新的流星并做出反应。我正在使用服务器上的mongo$text搜索功能过滤查询。我发现我的本地数据没有改变,即使查询正在服务器上正确地重新运行 我的组件如下所示: TodoLists = React.createClass({ mixins: [ReactMeteorData], getMeteorData() { Meteor.subscribe('todoLists', this.props.query); const todoLists = TodoLis
$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()
的结果时,我只得到所有结果,就好像没有进行过滤一样
这段代码不起作用有什么原因吗?为什么结果在服务器上与预期一致,但在客户端却不正确?我想到了两件事:是否启用了“自动发布”?或者您对同一个收藏有其他订阅吗?请注意,在客户端,来自每个活动订阅的所有数据都合并到集合中。原来我对同一集合有另一个订阅!没想到他们会合并在一起。我将接受以下回答:)我想到两件事:您是否启用了“自动发布”功能?或者您对同一个收藏有其他订阅吗?请注意,在客户端,来自每个活动订阅的所有数据都合并到集合中。原来我对同一集合有另一个订阅!没想到他们会合并在一起。我接受你的回答:)