// const cookieParser = require("cookie-parser")
const Post = require("../models/post");
// const   User= require("../models/user")

module.exports.home= async(req, res)=>{
    try{
        console.log(req.cookies)
        const posts = await Post.find({})
        .populate("users")
        .populate({
            path:'comments',
            populate:{
                path:'user',
            }
        })
        .exec();
        // console.log(posts.content);
        // console.log(posts);

        //    res.cookie("user_id", 25);
        return res.render('home', {
        title: "Home Page ",
        posts:posts,
    }) 

    }
    catch(err){
        console.log("error in sending feed", err);
        return res.redirect("back");

    }
}

在回复中,我得到了发表 comments 的人的姓名、邮箱、正文和密码,但我只想在回复中出现姓名,我如何才能解决这个问题

源代码链接:-https://github.com/himanshugupta2168/Codeial

推荐答案

您可以使用select选项来仅拾取所需的属性.如下所示更新:

const posts = await Post.find({})
        .populate("users")
        .populate({
            path:'comments',
            populate:{
                path:'user',
                select: 'name -_id'
            }
        })

请注意,_id总是被返回,因此您可以使用-_id显式取消 Select 它.有关进一步的阅读,请参阅docs.

Mongodb相关问答推荐

MongoDB中的数据类型没有通过数据库Pyspark更改(从字符串到日期)

如何将数组$拉到对象数组下

数组中字符串的Mongo查询集合和推送到新数组嵌套对象

Mongo按最大分组排序

Golang 无法在 MongoDB 中创建文档

来自嵌套对象数组的 MongoDB 聚合

Mongodb聚合查找异常值

MongoDB - 文档中多个数组大小的总和

更新 mongodb 文档中的特定字段

MongoDB 中 cursor.count() 和 cursor.size() 之间的区别

在mongodb中实现分页

MongoDB $或PHP中的查询

Docker 内部的 Mongo 身份验证

如何在 mongo JavaScript shell 中中止查询

`fields cannot be identical'和''` mongoimport错误

填充mongoose后查找

如何仅通过一次调用将一组对象保存到mongoose数据库?

MongoDb 聚合 $match 错误:Arguments must be aggregate pipeline operators

如何在 Ubuntu 上安装 mongodb-clients 最新版本?

即使重新安装后,Mongo 仍在等待 27017