将 CASL 与 Express 和 Mongoose 一起使用,当我使用 时accessibleFieldsPlugin
,结果中不包含虚拟字段。
这是一个错误,还是我必须采取一些解决方法才能将它们也包括在内?在这种情况下最好的办法是什么?
人物模型:
const personSchema = new mongoose.Schema({
fullName: {
type: String,
required: true
},
picture: {
type: String,
required: true
},
....
}, {
timestamps: true,
toObject: { virtuals: true },
toJSON: { virtuals: true }
});
personSchema.virtual('picturePath').get(function () {
if (this.picture != null) {
return path.join('/', uploadPath, this.picture)
}
return null;
});
personSchema.plugin(accessibleRecordsPlugin);
personSchema.plugin(accessibleFieldsPlugin);
module.exports.Person = mongoose.model('Person', personSchema, 'person');