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

标签 javascript mongodb keystonejs

我正在尝试修改 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/

相关文章:

javascript - 渲染后如何向组件添加插件?

node.js - mongodb查询逻辑mongoose和nodejs

mongodb - Mongoose 在更新数组中的文档时创建新的 objectId

javascript - 安装并运行 keystone.js 后,什么可能导致此错误?

javascript - 轻松模拟 Restful 服务的工具

javascript - onAuthStateChanged 更改 Firebase 3.0.0 后引用不会重新运行

javascript - 有没有办法在 url 中传递 javascript 变量?

javascript - Mongoose 查询在对象数组的对象字段中找到 'string'

node.js - 使用 GridFSBucket openDownloadStream 时出现文件未找到错误

node.js - keystone.js 当前登录的用户