我正在尝试修改 keyStone.js 项目以满足我的要求,但我在从服务器端添加新用户时遇到问题
var User = keystone.list('User');
User.add({
name: {first:"Abcd",
last:"xyz" },
email: "<a href="https://stackoverflow.com/cdn-cgi/l/email-protection" class="__cf_email__" data-cfemail="2d4c4f4e6d555457034e4240" rel="noreferrer noopener nofollow">[email protected]</a>",
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: '<a href="https://stackoverflow.com/cdn-cgi/l/email-protection" class="__cf_email__" data-cfemail="a0c1c2c3e0d8d9da8ec3cfcd" rel="noreferrer noopener nofollow">[email protected]</a>',
password: 'password',
isAdmin: true
});
user.save(function (err) {
if (err) {
// handle error
return console.log(err);
}
// user has been saved
console.log(user);
});
关于javascript - 如何在 KeyStone.js 中显式创建新用户,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34608872/