Attach defaults to the results of mongoose queries when using `.lean()`
npm install mongoose-lean-defaultsAttach defaults to the results of mongoose queries when using .lean().
Highly inspired by mongoose-lean-virtuals.


``sh`
npm install --save mongoose-lean-defaults
or
`sh`
yarn add mongoose-lean-defaults
`javascript
import mongooseLeanDefaults from 'mongoose-lean-defaults';
// const mongooseLeanDefaults = require('mongoose-lean-defaults').default;
const userSchema = new mongoose.Schema({
name: {
type: String,
default: 'Bob',
},
});
// documents will only have name field on database
// Later
const updatedUserSchema = new mongoose.Schema({
name: {
type: String,
default: 'Bob',
},
country: {
type: String,
default: 'USA',
},
});
// .find().lean() will return documents without country field
updatedUserSchema.plugin(mongooseLeanDefaults);
// You must pass defaults: true to .lean()``
const bob = await UserModel.findOne().lean({ defaults: true });
/**
* bob = {
* _id: ...,
* name: 'Bob',
* country: 'USA'
* }
*/