mongoose:如何添加多个插件

在Mongoose中,我从来没有见过在模式上设置多个Mongoose插件的例子。 我所见过的

schema.plugin(mongooseSearchPlugin); 

如何添加另一个插件呢? 例如mongoosePaginatePlugin?

不幸的是,mongoose不支持一次初始化多个插件。 在这里引用来源。 所以唯一的select是多次调用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); }); 

取决于你使用的插件数量,这可能会缩短你的代码。 最终这是一个造型的select。

希望这个解释有帮助。

只需多次调用schema.plugin