【问题标题】:Mongo/Meteor cursor update eventMongo/Meteor 光标更新事件
【发布时间】:2016-09-19 15:10:46
【问题描述】:

我正在使用 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 函数中添加一些内容。我原以为添加新的chat 时会调用disposeChat,但事实并非如此。

谢谢

【问题讨论】:

    标签: javascript mongodb meteor


    【解决方案1】:

    解决方案

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

    【讨论】:

    • 请编辑更多信息。不建议使用纯代码和“试试这个”的答案,因为它们不包含可搜索的内容,也没有解释为什么有人应该“试试这个”。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2015-09-01
    • 1970-01-01
    • 1970-01-01
    • 2015-08-24
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多