首页 > 解决方案 > 如何将结果限制为具有特定值的数组的字段?

问题描述

我只想显示一篇文章,其中包含那些在我的数据库中将批准值设置为“true”的评论(它是一个数组)。我无法得到正确的结果。这是我的后端代码。我使用纯 MongoDB,没有 Mongoose。

        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});
        });
    });

这是我的数据库的样子,我想过滤或限制结果以评论批准 =“真”。

我的数据库的外观

非常感谢您的每一个回答。

标签: node.jsmongodbexpress

解决方案


我不知道是否有更好的解决方案,但可以通过以下方式获得:

let newPost = {...post}
newPost.comments = newPost.comments.filter(comment=>comment.approve)
res.render("user/post",{post:newPost});

推荐阅读