Il modo più semplice è quello di patch di scimmia mongoose.Query
classe da aggiungere opzione predefinita magra:
var __setOptions = mongoose.Query.prototype.setOptions;
mongoose.Query.prototype.setOptions = function(options, overwrite) {
__setOptions.apply(this, arguments);
if (this.options.lean == null) this.options.lean = true;
return this;
};
Mongoose crea nuova istanza di mongoose.Query
per ogni query e setOptions
chiamata è una parte di mongoose.Query
costruzione.
Con il patching della classe mongoose.Query
sarete in grado di trasformare le query lean su tutto il mondo. Quindi non è necessario seguire tutti i metodi mongoose
(find
, findOne
, findById
, findOneAndUpdate
, ecc.).
Mongoose
utilizza la classe Query
per chiamate interne come popolare. Supera le opzioni originali Query
per ogni sottoquery, quindi dovrebbe essere senza problemi, ma attenzione comunque con questa soluzione.
fonte
2013-10-04 16:25:28
Non sembra che sia possibile applicarlo a livello di schema (http://mongoosejs.com/docs/guide.html#options), quindi dubito che sia possibile farlo a livello di connessione:/ – tomahaug
considera solo l'uso diretto del driver mongodb nativo - è sempre * magro *. – WiredPrairie
@WiredPrairie - ho bisogno di mangusta su questo progetto per altri motivi, ma grazie. – k00k