find hasil hanya dapat menyertakan konten dari dokumen itu sendiri, sedangkan aggregate dapat memproyeksikan nilai baru yang berasal dari konten dokumen (seperti panjang array). Itu sebabnya Anda perlu menggunakan aggregate untuk ini, meskipun Anda hanya mendapatkan satu dokumen.
Post.aggregate([{$match: {postId: 5}}, {$project: {upvotes: {$size: '$upvotes'}}}])
Pengecualian tunggal adalah $meta
operator proyeksi untuk memproyeksikan $text skor hasil kueri.