Aquí está mi modelo de mangosta:
const mongoose=require('mongoose') const userSchema=new mongoose.Schema({ firstName:{ type:String, required:true }, middleName:{ type:String, }, lastName:{ type:String, required:true, }, passsword:{ type: String, required: true, }, email:{ type:String, unique:true, sparse:true }, phoneNumber:{ type:Number }, address:{ permanentAddress:String, temporaryAddress:[String] }, gender:{ type:String, enum:['male','female','others'] }, dob:{ type:Date }, country:{ type:String, default:'Nepal' }, image:{ type:[String] }, role:{ type:Number, default:2 }, isArchived:{ type:Boolean, default:false }, status:{ type:String, enum:['active','inactive','frequent'], default:'active' }, passwordResetTOken:String, passwordResetTokenExpiry:String }) const userModel=mongoose.model('user',userSchema) module.exports=userModel
El controlador es:
function insert(data){ return new Promise(function(resolve,reject){ const newUser=new userModel newUser.password = passwordHash.generate(data.password) newUser.firstName=data.firstName newUser.lastName=data.lastName newUser.dob=data.dob console.log("new user is",newUser.password) console.log("mapped user is",newUser) newUser.save(function(err,done){ if(err){ return reject(err) } console.log("user is",done) resolve(done) }) }) }
Estoy recibiendo un error:
"name": "ValidatorError", "message": "Path `passsword` is required.",
Pero req.body
tiene:
{ firstName: 'rajiv', lastName: 'dahal', password: 'admin', dob: '2021/03/03' }
¿Cuál es mi error?
Tiene un error tipográfico al definir el esquema de usuario. Tiene 3 s
en lugar de 2 para el nombre de la propiedad de contraseña . Simplemente actualice su esquema de usuario:
palabra clave -> palabra clave
debe ser contraseña no contraseña
passsword:{ type: String, required: true, },