Как добавить метод schema в mongoose? [дубликат]
этот вопрос уже есть ответ здесь:
Я пытался узнать, как добавить методы схемы в Мангуст, которые будут использовать атрибуты модели и каким-то образом изменять их. Можно ли заставить работать приведенный ниже код?
var mySchema = new Schema({
name: {
type: String
},
createdAt: {
type: Date,
default: Date.now
},
changedName: function () {
return this.name + 'TROLOLO';
}
});
MySchema.findOne({ _id: id }).exec(function (error, myschema) {
myschema.changedName();
});
1 ответов
Я думаю, что да, вы хотите методы экземпляра? Это то, что вы имели в виду с методами схемы? Если это так, вы можете сделать что-то вроде:
var mySchema = new Schema({
name: {
type: String
},
createdAt: {
type: Date,
default: Date.now
}
});
mySchema.methods.changedName = function() {
return this.name + 'TROLOLO';
};
Something = mongoose.model('Something', mySchema);
С этим вы можете сделать:
Something.findOne({ _id: id }).exec(function (error, something) {
something.changedName();
});