Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/375.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
Javascript 流星收藏发布和订阅_Javascript_Mongodb_Meteor - Fatal编程技术网

Javascript 流星收藏发布和订阅

Javascript 流星收藏发布和订阅,javascript,mongodb,meteor,Javascript,Mongodb,Meteor,今天有点卡住了,找到了一堆相关的话题,但还是没能解决。我对Meteor有点陌生,可能没有用正确的方式来做,但是自动发布被删除了 我将集合创建为lib/import文件夹中的常量,该文件夹与客户机/服务器共享。接下来,我将在异步中调用一个服务器方法,以将数据插入到集合中。我认为,到目前为止一切都很好(我看到了db mongo中的数据) 现在在client.js中,我想处理与用户相关的每个数据,然后将其附加到模板中或执行其他操作 //服务器 Meteor.publish("pipeline

今天有点卡住了,找到了一堆相关的话题,但还是没能解决。我对Meteor有点陌生,可能没有用正确的方式来做,但是自动发布被删除了

我将集合创建为lib/import文件夹中的常量,该文件夹与客户机/服务器共享。接下来,我将在异步中调用一个服务器方法,以将数据插入到集合中。我认为,到目前为止一切都很好(我看到了db mongo中的数据)

现在在client.js中,我想处理与用户相关的每个数据,然后将其附加到模板中或执行其他操作

//服务器

Meteor.publish("pipeline", function() {
    var data = pipeline.find({}, {fields: {userID:this.userID}}).fetch();
   
    return data;
});
//客户

var loadCurrentPipeLineUser = Meteor.subscribe('pipeline');
var data = pipeline.findOne({userID: Meteor.userId()});
console.log(loadCurrentPipeLineUser);
console.log(data);
loadCurrentPipeLineUser
数据都返回未定义。
loadCurrentPipe
(我认为这意味着未定义)的输出是:


在服务器端,在发布内部,它可以在控制台上打印所有内容。

不使用
.fetch()进行发布。


因为publish返回一个游标。

可能与yes重复,请查看提供的@EvgenyKolyakov链接。您没有为客户机代码提供任何上下文,但是如果您在订阅后立即执行findOne(),那么您已经为自己创建了一个竞争条件。i、 e.它有时会“起作用”,但大多数时候可能不会。谢谢你的回答,但它仍然在客户端提供了两个未定义的值您是否有
pipeline=new Collection('pipeline')在服务器和客户端都可以读取的文件中?是的,还没有用路由器尝试过该路径,如果今天无法修复,可能会尝试一下。正在思考和阅读im定义导出常量管道=新Mongo.Collection(“管道”);在我的lib/import.js上,我认为建议在服务器端创建一个“新”集合,然后在客户端订阅。嗯,清理了mongo集合,重新启动了meteor,似乎使用了相同的逻辑:/this.userID应该是this.userID
Meteor.publish("pipeline", function() {
    return pipeline.find({}, {fields: {userID:this.userID}});
});