Utilizo el pasaporte para autenticarme y registrarme cuando uso el formulario html, no hay problema, pero cuando intento generar un número aleatorio y pongo el valor en el método del pasaporte, aunque el usuario crea en la base de datos, ¡pero no funciona! aquí está mi código:
router.post("/register", function (req, res) { var password = Math.floor((Math.random() * 100000) + 1).toString(); User.findOne().sort({ field: 'asc', _id: -1 }).limit(1).exec(function (err, lastQ) { if (err) { console.log(err); } else { console.log(lastQ); var customersNo = Number(lastQ.customerNo) + 1; User.register(new User({ username: username, customerNo: customersNo, customerName: req.body.customerName, customerAdd: req.body.customerAdd, customerPhone: req.body.customerPhone }), req.body.password, function (err, user) { ....//here works!en parte, por encima de todo, está bien, pero si cambiar req.body.password con mi variable 'contraseña' no funciona:
router.post("/register", function (req, res) { var password = Math.floor((Math.random() * 100000) + 1).toString(); User.findOne().sort({ field: 'asc', _id: -1 }).limit(1).exec(function (err, lastQ) { if (err) { console.log(err); } else { console.log(lastQ); var customersNo = Number(lastQ.customerNo) + 1; User.register(new User({ username: username, customerNo: customersNo, customerName: req.body.customerName, customerAdd: req.body.customerAdd, customerPhone: req.body.customerPhone }), password, function (err, user) { ....//here doesn't work!Que error da? Al verlo, me di cuenta de que podría perderse el alcance de esto.
Mi suposición es que su contraseña aún no se ha generado y ya se usó, tal vez pueda manejarla con la función asíncrona,
o para estar seguro, intente consolar la password , ya sea que la contraseña haya sido generada o no.