0
因此,我有一个外部进程,它定期更新支持我的Meteor应用程序的Mongo数据库中的一个集合。我希望我的Meteor应用程序在每次更新第一个集合时采取特定操作并更新不同的集合。有没有一种方法可以聆听流星的收藏?请注意,我只关心服务器端。Meteor.js - 当另一个mongo集合发生变化时自动更新一个Mongo集合?
因此,我有一个外部进程,它定期更新支持我的Meteor应用程序的Mongo数据库中的一个集合。我希望我的Meteor应用程序在每次更新第一个集合时采取特定操作并更新不同的集合。有没有一种方法可以聆听流星的收藏?请注意,我只关心服务器端。Meteor.js - 当另一个mongo集合发生变化时自动更新一个Mongo集合?
您可以使用观察:
CollectionOne.find({createdAt: {$gte: new Date()}}).observe({
added: function (document) {
// Do something to collection 2
},
changed: function (newDocument, oldDocument) {
// ...
},
removed: function (oldDocument) {
// ...
}
});
所以added
,changed
和removed
当从CollectionOne
文档添加,更改或删除分别被解雇。
您可以使用这些回调来对第二个集合做某些事情,或者执行其他逻辑。
此外,请注意您可以更改查询。我已使用createdAt
确保观察者仅触发新文档。 (如果他们有一个createdAt字段和他们插入的日期)。
原因是observe
最初会针对与查询匹配的每个文档触发一次。