MongoDB
 sql >> Base de données >  >> NoSQL >> MongoDB

Mongoose - obtenir la longueur du tableau dans le modèle

find les résultats ne peuvent inclure que le contenu des documents eux-mêmes, tandis que aggregate peut projeter de nouvelles valeurs dérivées du contenu du document (comme la longueur d'un tableau). C'est pourquoi vous devez utiliser aggregate pour cela, même si vous n'obtenez qu'un seul document.

Post.aggregate([{$match: {postId: 5}}, {$project: {upvotes: {$size: '$upvotes'}}}])

La seule exception est le $meta opérateur de projection pour projeter un $text score du résultat de la requête.