Почему свойство объекта пользователя в mongoose отображается как неопределенное? - PullRequest
0 голосов
/ 02 октября 2018

Это моя схема:

var UserSchema = new Schema ({
    username: String,
    password: String,
    nativeLanguage: {
        type: String, 
        default: "English"
    },

Этот маршрут выводит пользовательский объект на консоль.

router.get('/add', isLoggedIn, async (req, res) => {
    const Users = await User.find({_id: req.params._id});
    console.log(req.user);
    res.render('add', {User});
    });

То, что я пытаюсь сделать, это отрендерить определенные свойства пользователяна странице add, чтобы проверить, что я сначала пытаюсь получить к ним доступ в консоли.К сожалению, User.nativeLanguage выглядит как неопределенное, и я не знаю почему.

Ответы [ 2 ]

0 голосов
/ 02 октября 2018

Предположим, вы экспортируете свою модель.

exports.User = UserSchema;

Тогда в вашем маршруте вам понадобится.

var user = require('../userModel');

user.find({ _id: req.params._id }, (err, doc) => (
    if (!err && doc){
        res.render('add', { User: doc});
    }
))

Также рассмотрите возможность использования findOne вместо find, если вы планируете получить только одну запись.

0 голосов
/ 02 октября 2018

User - модель, Users, как вы ее назвали, - запись пользователя.

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