Alerts are inserted but not showing up

廉价感情. 提交于 2019-12-24 08:05:07

问题


Im working on a unread counter for messages and have alert collection and messages collection.

Issue now is console log shows alerts are attached to messsage, however the counter does not show up. Typing Alerts.find().count(); in console3e gives 0.

template counter + click to clear alerts

//helper 
   alertCount: function(){
      return Alerts.find({ userId: Meteor.userId(), read: false }).count();
   }
//event 
   'click .enterRoom': function() {
      Meteor.call('markAlertsAsRead', { roomId: this._id }); 
   }

attach alert when submit message

  'submit form': function(e, template) {  
      e.preventDefault();
      var message = template.find('input').value;  
      var roomId = this._id; 
      var messageId = Messages.insert ({ 
         roomId    : Router.current().params._id, 
         msg       : message,
         userId    : Meteor.user()._id,
      });
      template.find('input').value = '';
      createMessageAlert(messageId, roomId, message);

      var insertedMessage = Messages.findOne(messageId);
      console.log(insertedMessage + messageId); //logs msg + alert 
   }

in alert.js collection

Meteor.methods({
   markAlertsAsRead: function(options){ 
      check(options, Object);
      Alerts.update({ roomId: options.roomId }, { $set:{ read: true } }, { multi: true });
   } 
});

createMessageAlert = function(messageId, roomId, message){
      if ( message.user !== Meteor.userId() ){     
         Alerts.insert({
            userId        : message.userId,
            roomId        : Router.current().params._id,
            messageId     : messageId, 
            read          : false
         }, function(error, result){
               if( error ) 
                    console.log( error );
               if( result ) 
                    console.log( 'alert attached, alertId: ' + result );
                    //returns an alertId in my case
         });
         console.log('alert#: ' + Alerts.find().count()); //returns 0
      }
};

来源:https://stackoverflow.com/questions/37766843/alerts-are-inserted-but-not-showing-up

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!