Невозможно прочитать свойство urlslist со значением null - PullRequest
1 голос
/ 01 августа 2020

Здесь «пользователь» - это набор имен пользователей, адрес электронной почты, пароль и массив идентификаторов. Эти идентификаторы принадлежат коллекции "urllist". Когда я делаю console.log(resp.urlslist), он предоставляет массив объектов. но при передаче того же результата с использованием res.render("finalsite",{linklist:resp.urlslist}) тогда urlslist is null возникает ошибка: Итак, пожалуйста, помогите мне.

app.get("/finalsite/:use", function(req, res) {
    user.findOne({
            username: req.params.use
        })
        .populate("urlslist")
        .exec()
        .then((resp) => {
            console.log(resp.urlslist);
            res.render("finalsite", {
                linklist: resp.urlslist
            });
        })
        .catch((err) => {
            console.log(err);
        });
});

Вот мой шаблон EJS, в котором я передаю данные в форма массива. И печать заголовка каждого объекта с помощью функции forEach.

<%- include("partials/header")%><title></title></head>

<%linklist.forEach(function(link){%>

<a href="<%=link.url%>" class="btn" target="_blank"><%=link.title%></a>
<%})%><%- include("partials/footer")%>

Моя схема для user и urllist - это

const urllistSchema = new mongoose.Schema({
    title: String,
    url: String,
    user_id: {
        type: mongoose.Schema.Types.ObjectId,
        ref: "user"
    }
});
const urllist = mongoose.model("urllist", urllistSchema);
const urlslistSchema = urllist.schema;
const linktrSchema = new mongoose.Schema({
    email: String,
    username: String,
    password: String,
    urlslist: [{
        type: mongoose.Schema.Types.ObjectId,
        ref: "urllist",
    }]
});

const user = mongoose.model("user", linktrSchema);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...