Hola gente, acabo de iniciar en el mundo de Node y he estado estudiando muchas buenas practicas para programar apiREST adecuadamente ya que mi primer intento me llevo a un monton de codigo espaguetti.
Mi problema es el siguietne:
Tengo un Schema de mongoose que tiene un campo "password" y tengo un virtual de ese Schema para comparar la contraseña para que el usuario no se registre con una pass mal, el problema radica en que quiero que esos 2 valores se comparen y devuelvan un mensaje de error asi como lo hace un validador de String en el Schema para usar el mensaje y revicibirlo directamente en el controlador, no se me ocurre como hacerlo, colaboremen por favor.
Gracias de antemano
no se como insertar codigo asi que lo dejo en texto plano
//modelo de usuario
var mongoose = require("mongoose"),
encrypt = require('mongoose-encryption'),
config = require("../../config/config.js");
//definir el schema principal
var userSchema = mongoose.Schema({
idDocument: {
type: Number,
require: "Es obligatorio agregar tu numero de documento",
index: true,
minlength: [1000000, "No es un numero de documento valido"],
maxlength: [2000000000, "No es un numero de documento valido"],
unique: [true, "Este numero de identificacion de usuario ya esta registrado"] },
password: {
type: String,
require: "Es obligatorio establecer una constraseña",
minlength: [8, "Tu contraseña debe ser mayor a 8 caracteres"],
maxlength: [50, "La contraseña debe ser menor a 50 caracteres"] },
creation: { type: Date, default: Date.now}
});
//virtuales
userSchema.virtual("password_confirmation")
.get(function () {
return this.cnfirmation;
})
.set(function (password) {
this.cnfirmation = password;
});
//plugins
//encryptacion
userSchema.plugin(encrypt, {
secret: config.secret,
encryptedFields: ['password']});
//export el schema como modelo
module.exports = mongoose.model('User', userSchema);