tengo una colección de comentarios y una colección de publicaciones, y el esquema de publicación es así:
postSchema.virtual("comments", { ref: "Comment", localField: "_id", foreignField: "post", })y cuando quiero ver los comentarios de una publicación uso esto:
const post = await Post.findById(req.params.id); await post.populate("comments"); res.send(post.comments);No quiero obtener el campo de correo electrónico de post.comments. probé la tecla de eliminación foreach y no funcionó tnx por ayudarme
También puede usar el método de selección de campo regular para .populate con virtuales:
await post.populate("comments", "-email"); // or if you want to exclude more than one field: // await post.populate("comments", "-email -field2 -field3"); Si desea utilizar una selección positiva (qué campos deben incluirse en el resultado), asegúrese de incluir siempre el foreignField del virtual (en este caso, post ):
await post.populate("comments", "post field2 field3");