Предлагам ви да поставите логика за изтриване, свързана с _id, във файла с дефиницията на схемата на вашия модел mongoose:
var UserSchema = new mongoose.Schema(fieldDefinitions);
// Ensure virtual fields are serialised.
UserSchema.set('toJSON', {
virtuals: true
});
// Ensure able to see virtual fields output when using console.log(obj)
UserSchema.set('toObject', {
virtuals: true
});
UserSchema.options.toJSON = {
transform : function(doc, ret, options) {
console.log('--> ' + require('util').inspect( ret._id.id ));
ret.id = ret._id.id;
delete ret._id;
delete ret.__v;
return ret;
},
virtuals: true
};
След това във вашето обратно извикване изпълнете toJSON :
var processedJson = resultDoc.toJSON();
за извличане на обработената версия, която добре скрива логиката за многократна употреба.
ЗАБЕЛЕЖКА:toJSON() също се изпълнява магически от JSON.stringify()