Mongo / Meteor游标更新事件

时间:2016-09-19 06:50:37

标签: javascript mongodb meteor

我正在使用Angular / Meteor构建聊天应用程序。

问题

有没有办法检测MongoDB游标何时发生变化?添加行时是否触发了某些事件?

在我的聊天应用程序中,如果我向其他用户发送消息,则新聊天将显示在列表中(即MongoDB已更新),但我需要检测此更新,因此我可以使用用户名等填充新聊天。如果我刷新页面它会正确显示,但我需要能够动态地执行此操作。

chats: Mongo.Cursor<Chat>;

我对Meteor很新,所以不太了解它,但我确实有以下内容:

      let promise: Promise<Mongo.Cursor<Chat>> = this.findChats();
      promise.then((data) => {
        this.chats = data;
        this.chats.observe({
          changed: (newChat, oldChat) => this.disposeChat(oldChat),
          removed: (chat) => this.disposeChat(chat)
        });
        this.addNewChatAndShowMessage();
      });

我猜我需要在observe函数中添加一些东西。我认为在添加新的disposeChat时会调用chat,但事实并非如此。

谢谢

1 个答案:

答案 0 :(得分:0)

        this.chats.observeChanges({
          added: function (id, object) {
            // This code runs when a new object "object" was added to collection.
          }
        });