如何在KeyStone.js中显式创建新用户

how to explicitly create a new user in KeyStone.js

本文关键字:新用户 创建 用户 KeyStone js      更新时间:2023-09-26

我正在尝试修改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);
});