Я хочу проверить, принадлежит ли пост пользователю, который его создал - PullRequest
0 голосов
/ 30 июня 2019

В принципе, я хочу проверить, принадлежит ли пост пользователю, все вроде нормально, но все равно не работает.Я проверил, совпадает ли идентификатор пользователя с автором поста, и да, но все равно не работает, скорее, он показывает все посты на странице myposts, которые были созданы даже от разных пользователей.Я не знаю, что еще делать.

контроллер администратора

exports.getMyPostsPage = async (req, res) => {

    const posts = await Post.find({author: req.user._id})
    console.log(req.user._id);
    console.log(posts);
    res.render("admin/myposts", {
        path: "/myposts",
        pageTitle: "My Posts",
        posts: posts,
    })
}

модель js

const mongoose = require("mongoose"),
    Schema = mongoose.Schema,
    bcrypt = require("bcryptjs");




const postSchema = new Schema({
    title: String,
    description: String,
    context: String,
    author: {
        type: Schema.Types.ObjectId,
    }
});


const userSchema = new Schema({
    name: {
        type: String,
        required: true
    },

    email: {
        type: String,
        required: true,
    },

    password: {
        type: String,
        required: true
    },

    posts: [postSchema]
});


userSchema.pre("save", async function save(next) {
    const user = this;
    if (!user.isModified("password")) return next();
    const hashedPassword = await bcrypt.hash(user.password, 10);
    user.password = hashedPassword;
    next();
});


const Post = mongoose.model("Post", postSchema);
const User = mongoose.model("User", userSchema);

module.exports = {
    User,
    Post
}

myposts.ejs

    <main>
        <% if (posts.length > 0) { %>

        <% for (let post of posts) { %>

        <div class="grid">
            <div>
                <article class="post">
                    <h1><%=post.title%></h1>
                    <p><%=post.description%></p>
                    <a href="/posts/<%=post._id%>">See Post</a>
                    <article>
            </div>

        </div>


        <% } %>
        <%  } else { %>

        <h1 class="no-post">You have no Posts</h1>
        <% } %>
    </main>
...