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.