我正在使用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
,但事实并非如此。
谢谢
答案 0 :(得分:0)
解
this.chats.observeChanges({
added: function (id, object) {
// This code runs when a new object "object" was added to collection.
}
});