如何在 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);
});