У меня есть список постов, и каждый пост содержит массив комментариев, каждый комментарий может быть приватным или публичным c, и я хочу показать администраторам все приватные и публичные c комментарии, но обычным пользователям я хочу их показать только publi c комментарии.
здесь часть схемы поста и комментария:
const PostSchema = new mongoose.Schema({
title: String,
comments: [{ type: Schema.Types.ObjectId, ref: 'Comment' }]
})
const CommentSchema = new mongoose.Schema({
body: String,
type: { type: String, enum: ['public', 'private'] }
})
вот решение, с которым я пришел: захватить сообщение по id:
const post= await Post.findById(id);
, а затем фильтр:
post.comments = post.comments.filter(c => c.type != "private");
return res.json(post)
, но я хочу сделать это полностью mon goose, если это возможно.