繁体   English   中英

隐藏虚拟种群猫鼬的领域

[英]hide a field of virtual population mongoose

我有一个评论集合和一个帖子集合,帖子架构是这样的:

postSchema.virtual("comments", {
  ref: "Comment",
  localField: "_id",
  foreignField: "post",
})

当我想查看帖子的评论时,我使用这个:

   const post = await Post.findById(req.params.id);
    await post.populate("comments");
    res.send(post.comments);

我不想获得 post.comments 的电子邮件字段。 我尝试了 foreach 删除键,但它没有帮助我 tnx

您也可以将常规字段选择方法用于.populate with virtuals:

await post.populate("comments", "-email");
// or if you want to exclude more than one field:
// await post.populate("comments", "-email -field2 -field3");

如果要使用选择(结果中包含哪些字段),请确保始终包含虚拟的foreignField (在本例中为post ):

await post.populate("comments", "post field2 field3");

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM