警报已插入但未显示

我正在处理未读的消息计数器,并收集警报和收集消息。

问题现在是控制台日志显示警报附加到消息,但计数器没有显示。 键入Alerts.find().count(); 在console3e中给出0。

模板计数器+单击以清除警报

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

提交邮件时附加提醒

  '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 } 

在alert.js集合中

 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 } };