Метеор: глобальный объект не обновляется

#mongodb #meteor

#mongodb #метеор

Вопрос:

Я использую Ionic 2 с meteor / MongoDB.

Когда я делаю следующее, это inserts chat объект в localChatCollection :

       let promise: Promise<Mongo.Collection<Chat>> = this.findChats();
      promise.then((data: Mongo.Collection<Chat>) => {

        let localChatCollection: Mongo.Collection<Chat> = new Mongo.Collection<Chat>(null);
        data.find().forEach(function (chat: Chat) {
          console.log('==> '   chat);
          localChatCollection.insert(chat);
        });
  

Однако, если я определяю localChatCollection глобально, это не insert chat объект. Ошибок нет, но процесс просто останавливается на insert линии.

 private localChatCollection: Mongo.Collection<Chat> = new Mongo.Collection<Chat>(null);
....
         this.localChatCollection.insert(chat);
  

Есть идеи, как я могу заставить это вставить в глобально определенный collection ?

Ответ №1:

Это работает, но я не думаю, что это самое элегантное решение:

         let that = this;
        data.find().forEach(function (chat: Chat) {
          that.localChatCollection.insert(chat);
        });