标签: meteor-publications

Meteor.publish:发布取决于其他集合的集合

我有一个发布功能如下:

Meteor.publish('tasks', function (name) {
    var project = Projects.findOne({name: name});

    return Tasks.find({projectId: project._id});
});
Run Code Online (Sandbox Code Playgroud)

现在假设在某些时候对Projects进行了更改,结果是上面的内容Projects.findOne返回一个不同的项目,因此Tasks.find将返回其他任务.但是,对项目所做的更改不会重新发布任务

我已经使用了reactivePublish,但事实证明包有问题(并且没有任何单元测试).那么,是否有一种简单的方法可以在项目更改时重新发布此发布功能?

javascript meteor meteor-publications

17
推荐指数
2
解决办法
3593
查看次数

ES6箭头功能正在改变Meteor.publish中的范围

所以我开始使用ES6 Meteor,但显然如果你试图使用Meteor.publish箭头函数的语法,this.userId是未定义的,而如果你使用它与常规的function(){} this.userId工作完美,我假设是一种转换过程,分配不同的这个,到userId但只是一个猜测,有谁知道到底发生了什么?

Meteor.startup(function() {
    Meteor.publish("Activities", function() { //with function
        console.log(this.userId); //TS8vTE3z56LLcaCb5
    });
});

Meteor.startup(function() {
    Meteor.publish("Activities", ()=> { //with arrow function
        console.log(this.userId); //undefined
    });
});
Run Code Online (Sandbox Code Playgroud)

javascript meteor ecmascript-6 meteor-publications

9
推荐指数
1
解决办法
1071
查看次数

如何在流星的单个订阅调用中发布多个集合?

我可以在单个订阅调用中发布多个集合吗?如果是的话请指导我.

meteor meteorite meteor-publications

8
推荐指数
1
解决办法
5440
查看次数

Meteor.publish不是一个功能

我有一个仅包含的publications.js文件

Meteor.publish('org', function(_id){
    return Organizations.findOne(_id);
});
Run Code Online (Sandbox Code Playgroud)

当事情呈现时,我在控制台中得到它:

Uncaught TypeError: Meteor.publish is not a function
Run Code Online (Sandbox Code Playgroud)

我在这里想念的是什么......我确信这很痛苦.

publish-subscribe meteor meteor-publications

6
推荐指数
1
解决办法
4001
查看次数

Meteor 1.3 + React:检测订阅失败?

我有一个简单的Meteor订阅,我在加载数据时显示加载消息.但是,如果订阅失败,我不知道如何显示错误消息.

export const MyAwesomeComponent = createContainer(() => {
  let sub = Meteor.subscribe('some-data');
  if (!sub.ready()) return { message: 'Loading...'};
  if (sub.failed()) return { message: 'Failed.' }; // How to do this?
  return {
    data: Data.find().fetch()
  }
}, MyInternalRenderComponent);
Run Code Online (Sandbox Code Playgroud)

问题是,订阅对象没有failed()方法,只有ready()查询.如何将订阅失败作为createContainer()方法中的道具传递?

我知道这个Meteor.subscribe方法有一个onStop回调用于这种情况,但我不知道如何粘合它以传递属性.

meteor meteor-publications meteor-react

5
推荐指数
1
解决办法
155
查看次数

应该命名Meteor发布功能吗?

我正在努力更好地理解发布/订阅模型的工作原理.

具体来说,我指的是教程中的一步.

if (Meteor.isServer) {
  Meteor.publish('tasks', function tasksPublication() {
    return Tasks.find();
  });
}
Run Code Online (Sandbox Code Playgroud)

tasksPublication教程之后的任何地方都不会使用该名称.

查看此处的文档,似乎不需要该名称.
命名出版函数会有什么不同吗?

javascript publish-subscribe meteor meteor-publications

1
推荐指数
1
解决办法
146
查看次数