2016-11-30 4 views
5

簡単な質問をグローバルメソッドを追加します。マングース - 全てのモデルに

どのように私の代わりに一つだけのすべてのモデルに適用される、マングースの私のモデルに静的メソッドを追加することができますか?

答えて

6

したがって、ユーザー、ブログ、コメント、およびアラートのモデルはすべて、実装上の違いなく共有しています。

モンゴースの複数の異なるモデルに動作を適用する実際の方法は、プラグイン経由であり、グローバルプラグインを実行することができます。私は伝統的な構文に固執しますが、ES6の輸入と輸出を自由にしたいと思っています。

そのような単一のスキーマにも適用することができるプラグイン定義
// ./models/plugins/echo.js 
module.exports = function echoPlugin(schema, options) { 
    schema.statics.echo = function(){ console.log('Echo'); } 
} 

// somewhere in your app startup code 
var mongoose = require('mongoose'); 
var echoPlugin = require('./models/plugins/echo'); 

mongoose.plugin(echoPlugin); 
+1

ます。http://そうのように、プロジェクト内のすべてのモデルに

userSchema.plugin(require('./plugins/echo')); 

または代わりにmongoosejs.com/docs/plugins.html – Matt

関連する問題