处理流星中的新记录

Handling new records in meteor

我有 "requests" collection,我在服务器端创建了发布,在客户端创建了订阅。如何处理 mongodb 中的新记录?例如,如果一条记录被添加到 "requests" collection 我想获取该记录并在客户端执行一些操作。我该怎么做?

取决于你想采取什么行动。

最简单的答案是使用 Tracker#autorun

Tracker.autorun(function() {
  MyCollection.find()
  // Do something here
}

只要您的 collection 发生变化,就会 re-run。

如果您只对新文档感兴趣,可以使用 Mongo.Cursor#observeChanges

MyCollection.find().observeChanges({
  added(id, fields) {
    //do something
  },
  changed(id, fields) {
    //do something
  },
  removed(id) {
    //do something
  },
});