我尝试将accountStatus
添加到我第一次运行应用程序时创建的用户,但它会不断崩溃。 accountStatus
不属于user.profile
。
有人可以查看我的代码并告诉我我做错了什么。
感谢您的帮助。
路径:server.js
// run at Meteor app startup
Meteor.startup(function(options, user) {
// if users database is empty, seed these values
if(Meteor.users.find().count() < 1) {
// users array
var users = [
{firstName: 'Sam', lastName: 'Smith', email: 'sam@gmail.com', roles: ['is_student']},
];
// user creation
_.each(users, function(userData) {
// return id for use in roles assignment below
var userId = Accounts.createUser({
email: userData.email,
password: 'password',
profile: {
firstName: userData.firstName,
lastName: userData.lastName,
}
});
// verify user email
Meteor.users.update({ _id: userId }, { $set: { 'emails.0.verified': true } });
// add roles to user
Roles.addUsersToRoles(userId, userData.roles);
// add accountStatus and set to true
_.extend(userId, { accountStatus: true });
});
console.log('New users created!');
}
});
答案 0 :(得分:1)
看看这一行:
_.extend(userId, { accountStatus: true });
查看_.extend
定义:
将源对象中的所有属性复制到目标对象,然后返回目标对象。它是按顺序的,因此最后一个源将覆盖先前参数中同名的属性。
这条线应该做什么?