Meteor 在应用程序启动时向新用户添加accountStatus
我试图将Meteor 在应用程序启动时向新用户添加accountStatus,meteor,Meteor,我试图将accountStatus添加到我第一次运行应用程序时创建的用户中,但应用程序不断崩溃帐户状态不是用户配置文件的一部分 有人能看看我的代码,告诉我我做错了什么吗 谢谢你的帮助 路径:server.js // run at Meteor app startup Meteor.startup(function(options, user) { // if users database is empty, seed these values if(Meteor.users.find(
accountStatus
添加到我第一次运行应用程序时创建的用户中,但应用程序不断崩溃<代码>帐户状态不是用户配置文件
的一部分
有人能看看我的代码,告诉我我做错了什么吗
谢谢你的帮助
路径: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!');
}
});
//在Meteor应用程序启动时运行
Meteor.startup(功能(选项、用户){
//如果用户数据库为空,请为这些值设置种子
if(Meteor.users.find().count()<1){
//用户阵列
变量用户=[
{姓:“山姆”,姓:“史密斯”,电子邮件:'sam@gmail.com,角色:['is_student']},
];
//用户创建
_.each(用户、函数(用户数据){
//返回用于以下角色分配的id
var userId=Accounts.createUser({
电子邮件:userData.email,
密码:“password”,
简介:{
firstName:userData.firstName,
lastName:userData.lastName,
}
});
//验证用户电子邮件
update({u id:userId},{$set:{'emails.0.verified':true});
//向用户添加角色
Roles.addUsersToRoles(userId、userData.Roles);
//添加accountStatus并设置为true
_.extend(userId,{accountStatus:true});
});
log('newusers created!');
}
});
看这一行:
_.extend(userId, { accountStatus: true });
看看定义:
将源对象中的所有属性复制到目标对象,然后返回目标对象。它是有序的,因此最后一个源将覆盖前面参数中同名的属性
这一行应该做什么?我希望这一行能将accountStatus=true添加到用户帐户中。所以,做一个更新-就像你做了五行更高的更新:
Meteor.users.update({u id:userId},{$set:{accountStatus:true})代码>我上次尝试时一定是打错了,因为你的解决方案有效。谢谢@Radoslaw