Как я могу ограничить результат в поле с массивом, который имеет значение c? - PullRequest
0 голосов
/ 15 марта 2020

Я хочу отображать одну статью только с теми комментариями (это массив), для которых значение утверждения в моей базе данных установлено как "true". Я не могу получить правильный результат. Вот мой внутренний код. Я использую чистый MongoDB, без Mon goose.

        app.get("/posts/:id", function (req,res) {
        blog.collection("posts").findOne({"_id":ObjectId(req.params.id)}
            ,function (error,post )
        {
            res.render("user/post",{post:post});
        });
    });

Вот как выглядит моя база данных, я хочу отфильтровать или ограничить результат комментарием Approve = "True".

The appearance of my database

Большое спасибо за каждый ответ.

1 Ответ

0 голосов
/ 15 марта 2020

Я не знаю, есть ли лучшее решение, но его можно получить следующим образом:

let newPost = {...post}
newPost.comments = newPost.comments.filter(comment=>comment.approve)
res.render("user/post",{post:newPost});
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...