6
मेरे पास एक उप-दस्तावेज़ के साथ एक मोंगोस स्कीमा है। माता-पिता स्कीमा और बच्चे स्कीमा दोनों में पूर्व हुक बचा है। उदाहरण के लिए:मोंगोस प्री-डॉक्यूमेंट के मिडलवेयर को पूर्व सेव करें, जिसे दूसरे सेव ऑपरेशन पर नहीं कहा जाता है
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");
});
});
मुझे इस कोड चलाने के लिए, मैं निम्नलिखित उत्पादन प्राप्त करें:
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 } ] }
किसी भी कारण है कि पूर्व हुक बचाने दूसरे ऑपरेशन को बचाने पर subdocument के लिए नहीं चल रहा है?
धन्यवाद! यह 3.2.0 – bryanpackman
में काम करता था एक अपवर्तना भी सराहना की जाएगी;) – staackuser2
मुझे अभी केवल 13 प्रतिनिधि अंक मिल गए हैं। जैसे ही मुझे 2 और मिलेंगे, मैं आपका जवाब वोट दूंगा। – bryanpackman