meteor 基本订阅和发布

示例

首先,删除autopublish。autopublish自动将整个数据库发布到客户端,因此无法看到发布和订阅的效果。

删除autopublish:

$ meteor remove autopublish

然后,您可以创建出版物。下面是一个完整的示例。

import { Mongo } from 'meteor/mongo';
import { Meteor } from 'meteor/meteor';

const Todos = new Mongo.Collection('todos');

const TODOS = [
  { title: 'Create documentation' },
  { title: 'Submit to Stack Overflow' }
];

if (Meteor.isServer) {
  Meteor.startup(function () {
    TODOS.forEach(todo => {
      Todos.upsert(
        { title:todo.title},
        { $setOnInsert: todo }
      );
    });
  });

  // 第一个参数是名称。
  Meteor.publish('todos', function () {
    return Todos.find();
  });
}

if (Meteor.isClient) {
  // 通过名称订阅出版物。
  Meteor.startup(function () {
    Meteor.subscribe('todos');
  })
}