2016-11-30 2 views

ответ

6

Итак, у вас есть один статический метод, который (например) включает все ваши пользователи, блоги, комментарии и модели Alert без каких-либо различий в реализации?

Фактический способ применения поведения к нескольким различным моделям в Mongoose осуществляется через плагины, и вы можете сделать глобальный плагин. Я придерживаюсь традиционного синтаксиса, но если вы хотите использовать импорт и экспорт ES6, не стесняйтесь.

// ./models/plugins/echo.js 
module.exports = function echoPlugin(schema, options) { 
    schema.statics.echo = function(){ console.log('Echo'); } 
} 

Это определяет плагин, который может быть применен к одной схеме, как так:

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

или альтернативно все модели в проекте так:

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

mongoose.plugin(echoPlugin); 
+1

HTTP: // mongoosejs.com/docs/plugins.html – Matt

Смежные вопросы