Доступ к пользовательской информации в Express JS возвращает неопределенный - PullRequest
0 голосов
/ 13 ноября 2018

В настоящее время я использую паспорт для аутентификации в моем приложении. При попытке получить электронную почту пользователя, чтобы сохранить ее в моей БД вместе с другой информацией, я получаю возвращенное значение undefined. Если я потяну весь объект пользователя, я получу правильную информацию. Увидеть ниже.

Вот файл server.js, инициализирующий сеанс.

app.use(session({
    secret: 'sessionSecret'
})); 
app.use(passport.initialize());
app.use(passport.session()); 
app.use(flash());

Вот информация о маршруте

app.get('/itemCreation', function (req, res) {
    res.render('itemCreation.ejs', {
        user: req.user 
    });
});
app.post('/itemCreation', function (req, res) {
    var item = new itemSchema();
    item.local.productName = req.body.productName;
    item.local.itemPrice = req.body.itemPrice;
    item.local.Quantity = req.body.Quantity;
    item.local.Description = req.body.Description;
    console.log(req.user.firstName);
    item.save(function (err) {
        if (err)
            throw err;
        else
            console.log('Saved item information successfully');

    });
    res.redirect('/shop');
});

Вот моя модель товара

var mongoose = require('mongoose');
var bcrypt   = require('bcrypt-nodejs');

var itemSchema = mongoose.Schema({

    local            : {
        productName     : String,
        itemPrice       : Number,
        Quantity        : Number,
        Description     : String
        }

});

module.exports = mongoose.model('item', itemSchema);

Вот результат вытягивания всего объекта , который я получаю, вызывая

console.log(req.user);

и вот результат извлечения только письма от объекта , которое я получаю, позвонив по номеру

console.log(req.user.email);

1 Ответ

0 голосов
/ 13 ноября 2018

Это должно быть console.log(req.user.local.email);

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...