mongoose-lean-getters
Apply getters on lean() documents: https://mongoosejs.com/docs/tutorials/lean.html
This package requires Mongoose >= 7.1.0
. Do not use with Mongoose 7.0.x or 6.x.
Usage
const mongoose = require('mongoose');
const mongooseLeanGetters = require('mongoose-lean-getters');
const schema = mongoose.Schema({
name: {
type: String,
get: v => v.slice(-6)
}
});
schema.plugin(mongooseLeanGetters);
await Model.create({ name: 'Captain Jean-Luc Picard' });
const doc = await Model.findOne().lean({ getters: true });
doc.name;
You may also set the default lean options to always use getters:
const mongoose = require('mongoose');
const mongooseLeanGetters = require('mongoose-lean-getters');
const schema = mongoose.Schema({
name: {
type: String,
get: v => v.slice(-6)
}
});
schema.plugin(mongooseLeanGetters, { defaultLeanOptions: { getters: true }});
await Model.create({ name: 'Captain Jean-Luc Picard' });
const doc = await Model.findOne().lean();
doc.name;
const doc2 = await Model.findOne().lean({ getters: false });
doc2.name;