find
i risultati possono includere solo i contenuti dei documenti stessi, mentre aggregate
può proiettare nuovi valori derivati dal contenuto del documento (come la lunghezza di un array). Ecco perché devi usare aggregate
per questo, anche se stai ricevendo solo un singolo documento.
Post.aggregate([{$match: {postId: 5}}, {$project: {upvotes: {$size: '$upvotes'}}}])
Un'unica eccezione è $meta
operatore di proiezione per proiettare un $text
punteggio del risultato della query.