javascript - meteor .publish : publish collection which depends on other collection

标签 javascript meteor meteor-publications

我有一个发布功能如下:

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

    return Tasks.find({projectId: project._id});
});

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

我使用过 reactivePublish,但结果发现包有问题(而且也没有任何单元测试)。那么,有没有一种简单的方法可以让这个发布功能在项目发生变化时重新发布?

最佳答案

概览

在撰写本文时,响应式(Reactive)连接是一个尚未解决的问题。有关完整概述,请参阅 Reactive Joins In Meteor .

建议

强烈建议不要使用 observeChanges直接地。很难做到正确,并且很容易发生内存泄漏。不信看this video在 EventedMind 上。它会让你的眼睛流血。

several package-based solutions到这个问题。 meteor guide推荐publish-composite .

如果您发现使用基于包的解决方案的想法 Not Acceptable ,请仔细查看 Reactive Joins In Meteor 中的在客户端加入部分。 .它很干净,但需要用户更多的等待。另请参阅我在 template joins 上的帖子如果您更喜欢在模板级别激活您的订阅。

关于javascript - meteor .publish : publish collection which depends on other collection,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26398952/

相关文章:

javascript - 字符串化对象时,JSON 将元素节点转换为对象?

javascript - Meteor.call 返回错误调用方法 'addToMenu' : Internal server error [500]

javascript - 如何通过javascript中的expiry_time检查 token 的过期时间

javascript - jQuery .stop() 带动画

javascript - true == false 以某种方式评估为 true ?

php - 如何在不重新加载页面的情况下更改网页?

meteor - Minimongoid 与简单模式、Collection2、Autoform?

meteor - 发布用户所在组的项目(规划角色和发布)

javascript - 有什么方法可以只设置 meteor 发布的一个实例吗?

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