如何在 KeyStone.js 中明确创建新用户
how to explicitly create a new user in KeyStone.js
我正在尝试修改 keyStone.js 项目以满足我的要求,我在从服务器端添加新用户时遇到问题
var User = keystone.list('User');
User.add({
name: {first:"Abcd",
last:"xyz" },
email: "abc@xyz.com",
password: "password",
isAdmin: true
});
User.register();
但这并不是在 MongoDB 中创建新用户,您知道我可能做错了什么吗?
您混淆了 User
的模式定义和 User
的创建
这可能是您在 models/User.js
中的架构定义:
var User = keystone.list('User');
User.add({
name: { type: Types.Name, required: true, initial: true },
email: { type: Types.Email, required: true, initial: true },
password: { type: Types.Password, required: true, initial: true },
isAdmin: { type: Boolean },
});
User.register();
然后你可以这样创建一个用户:
var User = keystone.list('User').model;
var user = new User({
name: { first:'Abcd', last:'xyz' },
email: 'abc@xyz.com',
password: 'password',
isAdmin: true
});
user.save(function (err) {
if (err) {
// handle error
return console.log(err);
}
// user has been saved
console.log(user);
});
我正在尝试修改 keyStone.js 项目以满足我的要求,我在从服务器端添加新用户时遇到问题
var User = keystone.list('User');
User.add({
name: {first:"Abcd",
last:"xyz" },
email: "abc@xyz.com",
password: "password",
isAdmin: true
});
User.register();
但这并不是在 MongoDB 中创建新用户,您知道我可能做错了什么吗?
您混淆了 User
的模式定义和 User
这可能是您在 models/User.js
中的架构定义:
var User = keystone.list('User');
User.add({
name: { type: Types.Name, required: true, initial: true },
email: { type: Types.Email, required: true, initial: true },
password: { type: Types.Password, required: true, initial: true },
isAdmin: { type: Boolean },
});
User.register();
然后你可以这样创建一个用户:
var User = keystone.list('User').model;
var user = new User({
name: { first:'Abcd', last:'xyz' },
email: 'abc@xyz.com',
password: 'password',
isAdmin: true
});
user.save(function (err) {
if (err) {
// handle error
return console.log(err);
}
// user has been saved
console.log(user);
});