创建并响应发布上的错误

在服务器上,你可以创建这样的发布。this.userId 是当前登录用户的 ID。如果没有用户登录,则可能需要抛出错误并对其进行响应。

import Secrets from '/imports/collections/Secrets';

Meteor.publish('protected_data', function () {
  if (!this.userId) {
    this.error(new Meteor.Error(403, "Not Logged In."));
    this.ready();
  } else {
    return Secrets.find();
  }
});

在客户端上,你可以使用以下内容进行响应。

Meteor.subscribe('protected_data', {
  onError(err) {
    if (err.error === 403) {
      alert("Looks like you're not logged in");
    }
  },
});

File / imports / collections / Secrets 创建对秘密集合的引用,如下所示:

const Secrets = new Mongo.Collection('secrets');