Ecco cosa sto cercando di fare.C'è un modo per usare il middleware Mongoose con il generatore di query?
Sto utilizzando mongoosejs in un ambiente attendibile (ovvero ciò che viene passato è sempre considerato sicuro/prevalidato) e ho bisogno di passarlo "selezionare" e "popolare" su potenzialmente ogni query che eseguo. Sto ottenendo questo in modo coerente per ogni richiesta. Voglio fare qualcosa di simile:
var paramObject = sentFromUpAbove; // sent down on every Express request
var query = {...}
Model.myFind(query, paramObject).exec(function(err, data) {...});
La funzione vorrei passare al middleware o altro costrutto è semplice, basta:
function(query, paramObject) {
return this.find(query)
.populate(paramObject.populate)
.select(paramObject.select);
}
E lo stesso per un findOne. So come farlo estendendo direttamente Mangusta, ma è sporco. Preferisco usare il middleware o qualche altro costrutto che faccia questo in modo pulito e alquanto futuro.
Sono consapevole del fatto che posso eseguire questo tramite statica su base modello per modello, ma mi piacerebbe farlo universalmente su ogni modello. Qualche consiglio?
Quindi, apparentemente, aggiungendo al prototipo è il modo per farlo. Sporco o no, immagino sia ora di tuffarci. –