マングースの「静的」メソッドと「インスタンス」メソッド
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' } })