我创建了一个应用程序,用户可以注册,登录和创建信息。每个用户当前可以登录并有权访问他/她创建的注释。因此,基本上,我创建了发布和订阅方法来处理。
我有一个管理员登录名,可以查看和更新由不同用户创建的所有文档。现在我想反过来做。我不希望用户注册,管理员应创建用户帐户并为其创建初始注释。共享登录详细信息后,用户应该可以登录,查看,阅读和更新由管理员用户创建的信息。
我的难题是,由于管理员用户将创建用户,因此我该如何将其映射到文档?
当前用户创建:
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,
});
},
管理员用户将同时创建用户帐户和用户信息,如何将用户帐户映射到用户信息,以便用户可以登录并查看为他添加的信息?