Как работает пример подсчета сообщений в документации Meteor?

Проблемы с полным пониманием этого примера из документации ... Я пытался запустить его множеством разных способов, чтобы посмотреть, как он работает, и т. д.

Как вы подписываетесь на это? Можем ли мы включить клиентский код, необходимый для работы?

Существует ли коллекция под названием messages-count? Является ли Roomнабором сообщений? Можем ли мы включить определения коллекций в пример?

Буду рад любым советам по этому поводу!

ПРИМЕЧАНИЕ : это код, который появился, когда этот вопрос был первоначально опубликован (май 2012 г.). Теперь это проще.

// server: publish the current size of a collection
Meteor.publish("messages-count", function (roomId) {
  var self = this;
  var uuid = Meteor.uuid();
  var count = 0;

  handle = Room.find({room_id: roomId}).observe({
    added: function (doc, idx) {
      count++;
      self.set("messages-count", uuid, "count", count);
      self.flush();
    },
    removed: function (doc, idx) {
      count--;
      self.set("messages-count", uuid, "count", count);
      self.flush();
    }
    // don't care about moved or changed
  });

  // remove data and turn off observe when client unsubs
  self.onStop(function () {
    handle.stop();
    self.unset("messages-count", uuid, "count");
    self.flush();
  });
});

41
задан Dan Dascalescu 19 December 2014 в 05:53
поделиться