MongoDB
 sql >> Datenbank >  >> NoSQL >> MongoDB

Mongoose - Länge des Arrays im Modell abrufen

find Ergebnisse können nur Inhalte aus den Dokumenten selbst enthalten, während aggregate kann neue Werte projizieren, die aus dem Inhalt des Dokuments abgeleitet werden (wie die Länge eines Arrays). Deshalb müssen Sie aggregate verwenden dafür, obwohl Sie nur ein einziges Dokument erhalten.

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

Einzige Ausnahme ist $meta Projektionsoperator, um einen $text zu projizieren Punktzahl des Abfrageergebnisses.