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