Как найти все документы и заполнить их в пн goose? - PullRequest
0 голосов
/ 14 июля 2020

У меня две модели ... Пользователь и Аптека.
Модель пользователя имеет свойство аптеки в качестве ссылки.
Я пытаюсь показать всех пользователей и их свойства на одной странице.

Модель аптеки

var mongoose = require("mongoose");
var PharmacySchema = new mongoose.Schema({
    name: String,
    province: String,
    followers: [
        {
            type: mongoose.Schema.Types.ObjectId,
            ref: "User",
        },
    ],
});
module.exports = mongoose.model("Pharmacy", PharmacySchema);

и модель пользователя

var mongoose = require("mongoose");

var UserSchema = new mongoose.Schema({
    name: String,
    accountFirst: Number,
    accountSecond: Number,
    pharmacy: {
        type: mongoose.Schema.Types.ObjectId,
        ref: "Pharmacy",
    },
    date: String,
});



module.exports = mongoose.model("User", UserSchema);

приложение. js

app.get("/pharmacy", async function (req, res) {
    const users = await User.find({}).populate('pharmacy').exec();
    
    res.render("pharmacy", { users });
})

аптека. E js

<ul>
    <% users.forEach(function(user){ %>
    <li>name: <%=user.name%> Account Number: <%=user.accountFirst%> - <%=user.accountSecond%> pharmacy: <%=user.pharmacy.name%> </li>
    <%})%>
</ul>

, но я не могу получить доступ к <% = user.pharmacy.name%> и получил ошибку

TypeError: D:\VS_CODE\mask\views\pharmacy.ejs:5
    3|     <% users.forEach(function(user){ %>
    4|     <li>name: <%=user.name%> Account Number: <%=user.accountFirst%> - <%=user.accountSecond%> pharmacy:
 >> 5|         <%=user.pharmacy.name%> </li>
    6|     <%})%>
    7| </ul>

Cannot read property 'name' of null
...