Ich habe benutzerdefinierte Methoden mit zwei Möglichkeiten, aber nicht funktioniert.Aufruf benutzerdefinierte Methode von Mungo Schema
Modelle
...
// I read it from other stack overflow QA
categorySchema.methods.postChange = function(){
console.log('postChange');
};
// Mongoose reference doc
categorySchema.methods('postChange', function(){
console.log('postChange');
});
var Category = mongoose.model('category',categorySchema);
module.exports = Category;
Routen
...
router.post('/update_cat', upload.single('image_file'), function(req, res){
Category.findOneAndUpdate({name: req.body.name}, {href: req.body.href}, function(err, doc){
doc.href = req.body.href;
Category.postChange();
(err)?res.json(err):res.redirect('./reg_line');
});
});
und der Fehler 'Category.postChange ist keine Funktion'.
Ist es unmöglich, mit dem Modell zu exportieren ? Weil ich es schon mache. –
var Kategorie = mongoose.model ('Kategorie', KategorieSchema); –
Sie müssen diese explizit exportieren, wenn Sie sie in den Routen verwenden möchten. Wenn Sie beispielsweise Ihr Schema "exportieren", heißt das nicht, dass Sie auch andere Funktionen der Datei exportieren. Wenn Sie mit 'node.js' vertraut sind, müssen Sie beobachtet haben, dass Sie entweder alle Ihre Funktionen in ein Klassenobjekt einfügen und diese exportieren oder explizit alle Funktionen exportieren. –