У меня проблема с развертыванием моего приложения node js, когда пользователь хочет обновить данные своего профиля. Он отображает «Внутренняя ошибка сервера», то же самое происходит с паролем сброса на панели инструментов. Это кажется странным, так как работает локально хорошо без каких-либо проблем. он работает безупречно, за исключением обновления данных.
Я должен добавить, что я развернул его на Atlas, мог MongoDB, и он вернулся с MongoError: не авторизован администратором для выполнения команды err
Ниже приведена часть кода
const mongo = require('mongodb').MongoClient;
const assert = require('assert');
const objectID = require('mongodb').ObjectID;
const passport = require('passport');
router.get('/profileEdition', ensureAuthenticated, function(req, res){
res.render('profileEdition', {
username: req.user.username,
email: req.user.email,
fullName: req.user.fullName,
ostan: req.user.ostan,
shahr: req.user.shahr,
addressOne: req.user.addressOne,
addressTwo: req.user.addressTwo,
postalCode: req.user.postalCode
});
});
router.post('/profileEdition', function(req, res){
var item = {
fullName: req.body.fullName,
ostan: req.body.ostan,
shahr: req.body.shahr,
addressOne: req.body.addressOne,
addressTwo: req.body.addressTwo,
postalCode: req.body.postalCode,
email: req.body.email
};
const fullName = req.body.fullName;
const email = req.body.email;
const postalCode = req.body.postalCode;
const ostan = req.body.ostan;
const shahr = req.body.shahr;
const addressOne = req.body.addressOne;
req.check('fullName', 'نام خود را وارد کنید.').notEmpty();
req.check('ostan', 'استان محل زندگی خود را وارد کنید.').notEmpty();
req.check('shahr', 'شهر محل زندگی خود را وارد کنید.').notEmpty();
req.check('email', 'ایمیل وارد شده صحیح نمیباشد.').isEmail();
req.check('postalCode', 'کد پستی درست وارد نشده است.').isNumeric();
req.check('postalCode', 'کد پستی ۱۰ رقم می باشد.').isLength({max: 10});
req.check('postalCode', 'کد پستی ۱۰ رقم می باشد.').isLength({min: 10});
let errors = req.validationErrors();
const _id = objectID(req.session.passport.user);
mongo.connect(url, function(err, db) {
if(errors){
res.render('profileEdition', {
errors: errors
});
} else {
assert.equal(null, err);
db.collection('users').updateOne({_id}, {$set: item}, {runValidators: true}, function(err, result) {
assert.equal(null, err);
console.log('Items Updated');
res.redirect('/users/dashboard');
db.close();
});
}
});
req.flash('successMessages', 'اطلاعات اکانت شما با موفقیت بروزرسانی شد.');
});
была бы безмерно благодарна за помощь каждому.