Виртуальные поля Mongoose, включенные в toJSON по умолчанию: schemaOptions.toJSON.virtuals = true; по-прежнему не включает виртуальные поля по умолчанию
В другом ответе я увидел, что для включения виртуальных полей вы должны сделать как https://groups.google.com/forum/?fromgroups#!topic/mongoose-orm/HjrPAP_WXYs
var schemaOptions = {
toJSON: {
virtuals: true
}
};
который я сделал;
Теперь в схеме:
new Schema({...}, schemaOptions);
Но тем не менее, данные не включают в себя виртуальные.: s
Но как это работает:
var docsCallback = function(err, docs){
var i = docs.length;
var nDocs = [];
while(i--){
nDocs[i] = docs[i].toObject({virtuals: true});
}
done(nDocs);
}
Ответы
Ответ 1
Просто попробовал:
var schemaOptions = {
toObject: {
virtuals: true
}
};
и работает!;)
Теперь по умолчанию я использую:
var schemaOptions = {
toObject: {
virtuals: true
}
,toJSON: {
virtuals: true
}
};
Ответ 2
Вы также можете сделать это:
docs.set('toJSON', { virtuals: true });