2016-09-30 2 views
1

Mongooseでは、スキンに複数のMongooseプラグインを設定する例は見たことがありません。 私が今まで見すべては、どのように1はそれに別のプラグインを追加するのでしょうか?Mongoose:複数のプラグインを追加する方法

schema.plugin(mongooseSearchPlugin); 

ですか例えばmongoosePaginatePlugin?

答えて

2

残念ながらマングースは、一度に複数のプラグインを初期化をサポートしていませんschema.plugin複数回呼び出します。ソースhereを参照してください。したがって、唯一のオプションはschema.plugin(...)に複数回電話することです。

あなたはこのように、すべてのプラグインを初期化する機能を複数回呼び出すことができますすることができます

schema.plugin(mongooseSearchPlugin); 
schema.plugin(mongoosePaginatePlugin); 

を別の方法として、あなたが反復可能(配列のようなもの)で、あなたの機能を保存する場合は、あなただけの各項目を反復処理することができますそのように初期化します。このようなもの:

const myPlugins = [ mongooseSearchPlugin, mongoosePaginatePlugin ]; 

myPlugins.forEach(plugin => schema.plugin(plugin)); 

// Or you can you block style 
myPlugins.forEach((plugin) => { 
    schema.plugin(plugin); 
}); 

これを使用しているプラ​​グインの数によっては、コードが短くなることがあります。最終的にはスタイリングの選択肢です。

この説明が役に立った。