首先,删除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'); }) }