Mongoose:如何添加多个插件

时间:2016-09-30 16:28:41

标签: node.js mongoose

在Mongoose中,我从未真正看到过在架构上设置多个Mongoose插件的示例。 我所见过的只是

schema.plugin(mongooseSearchPlugin);

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

2 个答案:

答案 0 :(得分:3)

不幸的是,mongoose不支持一次初始化多个插件。因此,唯一的选择是多次调用schema.plugin(...)

您可以多次调用该函数来初始化所有插件,如下所示:

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

或者,如果将函数存储在iterable(类似于数组)中,则可以迭代每个项并以这种方式初始化它。像这样:

const myPlugins = [ mongooseSearchPlugin, mongoosePaginatePlugin ];

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

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

根据您使用的插件数量,这可能会缩短您的代码。最终它是一种造型选择。

希望这个解释有所帮助。

答案 1 :(得分:0)

只需多次致电schema.plugin