Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/asp.net-core/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Mongodb 流星收藏出版了很多_Mongodb_Meteor - Fatal编程技术网

Mongodb 流星收藏出版了很多

Mongodb 流星收藏出版了很多,mongodb,meteor,Mongodb,Meteor,我的Meteor sub/pub有一个问题,他们可能没有过滤数据 我的代码如下: //server.js Meteor.publish("tasks", function(options){ return Tasks.find({},options); }); //routes.js a waitOn function Meteor.subscribe("tasks",{creator:Meteor.userId()}) 但是,每个客户机都会被推送所有任务,而不仅仅是他们创建的任务。

我的Meteor sub/pub有一个问题,他们可能没有过滤数据

我的代码如下:

//server.js
Meteor.publish("tasks", function(options){
  return Tasks.find({},options);
});

//routes.js a  waitOn function 
Meteor.subscribe("tasks",{creator:Meteor.userId()})
但是,每个客户机都会被推送所有任务,而不仅仅是他们创建的任务。我错过了什么?我正在.find方法中再次筛选:

return Tasks.find({creator:Meteor.userId()},{sort: {createdAt: -1}});

但从安全角度来看,这显然不够好。

这是您编写发布方法的方式-

看起来您正试图从subscribe发送查询,而在publish中,您将其作为第二个参数而不是第一个参数

将发布修改为以下内容-

//server.js
Meteor.publish("tasks", function(options){
  return Tasks.find(options);
});

谢谢,这就成功了。我特别查找了《发现流星》一书中使用的部分:
Meteor.publish('posts',function(options){return posts.find({},options);})@ValentinZambelli请检查他们在选项参数中发送的内容。如果它解决了你的问题,请接受答案