'Attach a new virtual field after save using mongoose
This is my schema...
const personSchema = new Schema({
firstName: String,
lastName: String
});
This is my model...
const PersonModel = model('Persons', personSchema, 'persons');
This is my person object
const person = new PersonModel({
firstName: 'Rick',
lastName: 'Biruel'
});
When I save my object...
const result = await person.save();
...I wish my person object with a third virtual field called 'fullName' like this:
console.warn('result');
// result = {
// firstName: 'Rick',
// lastName: 'Biruel',
// fullName: 'Rick Biruel'
// };
To achieve this result, I tried this to no avail....
personSchema.post('save', async function () {
this.fullName = `${this.firstName} ${this.lastName}`;
});
P.S. No error occurs, but the third field 'fullName' doesn't exist in my person object. The fullName field must not persist on database!
Sources
This article follows the attribution requirements of Stack Overflow and is licensed under CC BY-SA 3.0.
Source: Stack Overflow
| Solution | Source |
|---|
