2016-04-12 6 views
5

私はモデル属性を使用して何らかの方法でそれらを変更する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(); 
}); 

答えて

5

私は、そうは思いますが、インスタンス・メソッドをしたいのですか?それはあなたがスキーマメソッドで何を意味するのでしょうか?あなたが行うことができますして

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(); 
}); 
もしそうなら、あなたのような何かを行うことができます
関連する問題