Ale*_*uck 5 mongoose node.js mongoose-schema
简单的问题:
如何在Mongoose中为我的模型添加静态方法,这适用于每个模型而不仅仅是一个模型?
Pau*_*aul 13
那么你有一个静态方法(例如)你的用户,博客,评论和警报模型都共享而没有任何实施差异?
将行为应用于Mongoose中的多个不同模型的事实上的方法是通过插件,您可以执行全局插件.我会坚持传统的语法,但如果你想使用ES6导入和导出感觉自由.
// ./models/plugins/echo.js
module.exports = function echoPlugin(schema, options) {
schema.statics.echo = function(){ console.log('Echo'); }
}
Run Code Online (Sandbox Code Playgroud)
这定义了一个可以应用于单个模式的插件,如下所示:
userSchema.plugin(require('./plugins/echo'));
Run Code Online (Sandbox Code Playgroud)
或者对项目中的所有模型都这样:
// somewhere in your app startup code
var mongoose = require('mongoose');
var echoPlugin = require('./models/plugins/echo');
mongoose.plugin(echoPlugin);
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1590 次 |
| 最近记录: |