MongoDB
 sql >> Database >  >> NoSQL >> MongoDB

Mongoose:ottieni la lunghezza dell'array nel modello

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.