マングースの「静的」メソッドと「インスタンス」メソッド



Mongoosestaticmethods Vs



statics で定義されているメソッドです モデル

methods で定義されています 資料 (インスタンス)。



独自のカスタムドキュメントインスタンスメソッドを定義することもできます。

Animal . Modal

今私たちのすべて動物文書インスタンスfindSimilarTypesメソッドを使用できるようにします。



その後:

追加 モデルへの静的メソッド シンプルです。私たちのanimalSchemaを続けます:

fido

あなたはそうするかもしれません、



// define a schema var animalSchema = new Schema({ name: String, type: String }) // assign a function to the 'methods' object of our animalSchema animalSchema.methods.findSimilarTypes = function (cb) { return this.model('Animal').find({ type: this.type }, cb) }
// assign a function to the 'statics' object of our animalSchema animalSchema.statics.findByName = function (name, cb) { return this.find({ name: new RegExp(name, 'i') }, cb) } var Animal = mongoose.model('Animal', animalSchema) Animal.findByName('fido', function (err, animals) { console.log(animals) })

そして、ドキュメントインスタンスを使用するかもしれません

|_+_|
すること

fido。資料

Animal.findByName('fido', function(err, fido){ // fido => { name: 'fido', type: 'dog' } })