J'ai vu dans une autre réponse que pour inclure les champs virtuels, vous devez faire comme https://groups.google.com/forum/?fromgroups#!topic/mongoose-orm/HjrPAP_WXYs
var schemaOptions = {
toJSON: {
virtuals: true
}
};
ce que j'ai fait;
Maintenant dans le schéma:
new Schema({...}, schemaOptions);
Mais toujours ainsi, les données n'incluent pas le virtuel ..: s
Mais comme ça marche:
var docsCallback = function(err, docs){
var i = docs.length;
var nDocs = [];
while(i--){
nDocs[i] = docs[i].toObject({virtuals: true});
}
done(nDocs);
}
Juste essayé:
var schemaOptions = {
toObject: {
virtuals: true
}
};
et a travaillé! ;)
Maintenant, par défaut, j'utilise:
var schemaOptions = {
toObject: {
virtuals: true
}
,toJSON: {
virtuals: true
}
};
Vous pouvez faire de cette façon aussi:
docs.set('toJSON', { virtuals: true });
Pour moi, cela n’a fonctionné qu’après l’ajout de getters: true
aux options du schéma, comme indiqué dans mongoose docs , i.e.
var schemaOptions = { toObject: { getters: true }, toJSON: { getters: true } };