Mongoose ValidationError在Passport KeystoneJS中创build新用户

我在我的项目中使用KeystoneJS的Passport身份validation插件 。

如果用户帐户存在并且与正在使用的社交networking绑定,那么一切都很好。 当创build一个新用户时,使用config选项'auto create user': true ,最后在oauthcallback路由上出现500错误。 日志说这是一个validation错误。

 ValidationError: Validation failed at model.Document.invalidate (/app/node_modules/keystone/node_modules/mongoose/lib/document.js:1021:32) at /app/node_modules/keystone/node_modules/mongoose/lib/document.js:970:16 at validate (/app/node_modules/keystone/node_modules/mongoose/lib/schematype.js:610:7) at /app/node_modules/keystone/node_modules/mongoose/lib/schematype.js:627:9 at Array.forEach (native) at SchemaString.SchemaType.doValidate (/app/node_modules/keystone/node_modules/mongoose/lib/schematype.js:614:19) at /app/node_modules/keystone/node_modules/mongoose/lib/document.js:968:9 at process._tickCallback (node.js:419:13) 

什么可能导致这个?


编辑

用户型号:

 var keystone = require('keystone'), Types = keystone.Field.Types, social = require('keystone-social-login'); /** * User Model * ========== */ 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, required: true } }, 'Permissions', { userLevel: { type: Types.Select, options: 'user, business, admin', default: 'user', initial: true } }); // Provide access to Keystone User.schema.virtual('canAccessKeystone').get(function() { return this.userLevel === 'admin'; }); /** * Registration */ social.plugin(User); User.defaultColumns = 'name, email, userLevel'; User.register();