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.