【问题标题】:Meteor.js - automatically updating one Mongo collection when another mongo collection changes?Meteor.js - 当另一个 mongo 集合发生变化时自动更新一个 Mongo 集合?
【发布时间】:2014-11-21 23:06:19
【问题描述】:

所以我有一个外部进程,它会定期更新支持我的 Meteor 应用程序的 Mongo 数据库中的集合。我希望我的 Meteor 应用程序在每次更新第一个集合时采取特定操作并更新不同的集合。有什么方法可以让我在 Meteor 中收听合集吗?请注意,这里我只关心服务器端。

【问题讨论】:

    标签: meteor


    【解决方案1】:

    你可以使用观察者:

    CollectionOne.find({createdAt: {$gte: new Date()}}).observe({
        added: function (document) {
            // Do something to collection 2
        },
        changed: function (newDocument, oldDocument) {
            // ...
        },
        removed: function (oldDocument) {
            // ...
        }
    });
    

    所以addedchangedremoved 分别在添加、更改或删除来自CollectionOne 的文档时被触发。

    您可以使用这些回调对第二个 Collection 执行某些操作,或执行其他逻辑。

    另外,请注意您可以更改查询。我使用createdAt 来确保观察者只针对新文档触发。 (如果他们有一个 createdAt 字段,其中包含插入日期)。

    原因是observe 最初为每个匹配查询的文档触发一次。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2016-02-28
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多