find resultat kan bara inkludera innehåll från själva dokumenten, medan aggregate kan projicera nya värden som härleds från dokumentets innehåll (som en arrays längd). Det är därför du behöver använda aggregate för detta, även om du bara får ett enda dokument.
Post.aggregate([{$match: {postId: 5}}, {$project: {upvotes: {$size: '$upvotes'}}}])
Enda undantag är $meta
projektionsoperator för att projicera en $text frågeresultatets poäng.