流星图用户到集合

时间:2018-10-24 21:45:03

标签: reactjs mongodb meteor

我创建了一个应用程序,用户可以注册,登录和创建信息。每个用户当前可以登录并有权访问他/她创建的注释。因此,基本上,我创建了发布和订阅方法来处理。

我有一个管理员登录名,可以查看和更新​​由不同用户创建的所有文档。现在我想反过来做。我不希望用户注册,管理员应创建用户帐户并为其创建初始注释。共享登录详细信息后,用户应该可以登录,查看,阅读和更新由管理员用户创建的信息。

我的难题是,由于管理员用户将创建用户,因此我该如何将其映射到文档?

当前用户创建:

import { Meteor } from 'meteor/meteor';
import SimpleSchema from 'simpl-schema';
import { Accounts } from 'meteor/accounts-base';

export const validateNewUser = (user) => {
  const email = user.emails[0].address;

  new SimpleSchema({
    email: {
      type: String,
      regEx: SimpleSchema.RegEx.Email
    }
  }).validate({ email });

  return true;
};

if (Meteor.isServer) {
  Accounts.validateNewUser(validateNewUser);  
}

文档创建

Meteor.publish("docs", function() {
    return Docs.find({ userId: this.userId });
  });

Meteor.methods({
  "docs.insert"(
    name,
    title,
    purpose
  ) {
    if (!this.userId) {
      throw new Meteor.Error("not-authorized");
    }
return Docs.insert({
      name,
      title,
      purpose
      userId: this.userId,
    });
  },

管理员用户将同时创建用户帐户和用户信息,如何将用户帐户映射到用户信息,以便用户可以登录并查看为他添加的信息?

0 个答案:

没有答案