Tengo un esquema de mangosta con un subdocumento. Tanto el esquema padre como el esquema hijo tienen ganchos guardados previamente. Por ejemplo:Guardado previo de mangoose middleware del subdocumento no llamado en la segunda operación de guardado
var mongoose = require('mongoose');
var Schema = mongoose.Schema;
var SubSchema = new Schema({ x : Number });
SubSchema.pre('save', function (next) {
console.log("pre save Sub");
next();
});
var MainSchema = new Schema({ x : Number, children : [SubSchema] });
MainSchema.pre('save', function (next) {
console.log("pre save Main");
next();
});
var Main = mongoose.model('Main', MainSchema);
var m = new Main();
m.children.push({ x : 42 });
m.save(function(err, doc) {
console.log(doc +"\n\n");
doc.children[0].x = 43;
doc.save(function(err, doc2) {
console.log(doc2 + "\n\n");
});
});
Cuando ejecuto el código, me sale el siguiente resultado:
pre save Sub
pre save Main
{ __v: 0,
_id: 50660b319aec895a50000002,
children: [ { x: 42, _id: 50660b319aec895a50000003 } ] }
pre save Main
{ __v: 0,
_id: 50660b319aec895a50000002,
children: [ { x: 43, _id: 50660b319aec895a50000003 } ] }
Cualquier razón por la pre Guardar gancho no se está ejecutando para el subdocumento en la segunda operación de almacenamiento?
Gracias! Eso funcionó en 3.2.0 – bryanpackman
También se apreciaría un voto positivo;) – staackuser2
Ahora solo tengo 13 puntos de rep. Tan pronto como obtenga 2 más, votaré su respuesta. – bryanpackman