Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/meteor/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
Meteor.js-在另一个Mongo集合更改时自动更新一个Mongo集合?_Meteor - Fatal编程技术网

Meteor.js-在另一个Mongo集合更改时自动更新一个Mongo集合?

Meteor.js-在另一个Mongo集合更改时自动更新一个Mongo集合?,meteor,Meteor,因此,我有一个外部进程,定期更新Mongo数据库中支持Meteor应用程序的集合。我希望我的Meteor应用程序采取特定的行动,并在每次更新第一个集合时更新不同的集合。有什么方法可以让我听流星音乐集吗?注意,这里我只关心服务器端。您可以使用观察者: CollectionOne.find({createdAt: {$gte: new Date()}}).observe({ added: function (document) { // Do something to col

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

您可以使用观察者:

CollectionOne.find({createdAt: {$gte: new Date()}}).observe({
    added: function (document) {
        // Do something to collection 2
    },
    changed: function (newDocument, oldDocument) {
        // ...
    },
    removed: function (oldDocument) {
        // ...
    }
});
因此,当分别添加、更改或删除
CollectionOne
中的文档时,
added
changed
removed
将被激发

您可以使用这些函数的回调对第二个集合执行某些操作,或者执行其他逻辑操作

另外,请注意,您可以更改查询。我使用了
createdAt
来确保观测者只对新文档进行激发。(如果他们有一个带有插入日期的createdAt字段)

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