Sie können einfach einen $lookup
durchführen um die geposteten Kommentare für jeden Beitrag mit $size
abzurufen auf die zurückgegebenen Kommentare für eine Zählung.
db.posts.aggregate(
[{ $lookup: {
from: "comments",
localField: "_id",
foreignField: "post_id",
as: "commentsCount"
} },
{ $addFields: { "commentsCount": { $size: "$commentsCount" } } }]
)