无法使用远程MongoDB登录Keystone

时间:2018-12-12 13:02:34

标签: mlab keystonejs

我正在尝试使用在mLab上托管的远程数据库服务器来建立Keystone项目。我在这里https://itnext.io/building-a-node-cms-with-keystonejs-mongo-db-react-and-redux-part-i-ae5958496df2

使用本指南

我已经使用我的mLab数据库URL在keystone.init()配置中编辑了mongo URL,并设法运行了该项目。

'mongo': 'mongodb://*username*:*password*@ds127624.mlab.com:27624/keystone',

但是,我无法以用户身份登录。

登录页面返回: “您输入的电子邮件和密码无效。”

我是否需要做一些其他配置才能使其正常工作?

....

user.js

var keystone = require('keystone');
var Types = keystone.Field.Types;

var User = new keystone.List('User');

User.add({
  name: { type: Types.Name, required: true, index: true },
  email: { type: Types.Email, initial: true, required: true, index: true },
  password: { type: Types.Password, initial: true },
  canAccessKeystone: { type: Boolean, initial: true },
});

User.register();

0.0.01-admin.js文件

var keystone = require('keystone');
var User = keystone.list('User');

exports = module.exports = function (done) {
    new User.model({
        name: { first: 'admin', last: 'user' },
        email: 'admin@keystonejs.com',
        password: 'admin',
        canAccessKeystone: true,
    }).save(done);

};

1 个答案:

答案 0 :(得分:0)

对于带有密码的远程数据库,您还必须添加authsource选项。基本上将?authSource = admin 添加到您的mongo网址中。 admin是默认数据库,您也可以更改它

mongodb://*username*:*password*@ds127624.mlab.com:27624/keystone?authSource=admin