2017-07-19 6 views
2

私はmongodbを使ってノードjsにアプリケーションを構築しています。私はODMとしてマングースを使用しています。 問題は、スキンに添付されているmongooseモデルに多くの静的関数があることです。 mongooseで静的関数を整理する

var mongoose = require('mongoose'); 
 
var Schema = mongoose.Schema; 
 
var ObjectId = Schema.Types.ObjectId; 
 

 
var userSchema = new Schema({ 
 
    profile: { 
 
     firstName: { type: String }, 
 
     lastName: { type: String } 
 
    }, 
 
    auth:{ 
 
     username:{ type: String }, 
 
     password:{ type: String } 
 
    }, 
 
    account:{ 
 
     status:{ type: Boolean, default: false } 
 
    } 
 
}); 
 

 
userSchema.statics.function1 = function(params, callback){ 
 
    //some operation 
 
} 
 

 
userSchema.statics.function2 = function(params, callback){ 
 
    //some operation 
 
} 
 

 
userSchema.statics.function3 = function(params, callback){ 
 
    //some operation 
 
} 
 

 
userSchema.statics.function4 = function(params, callback){ 
 
    //some operation 
 
} 
 

 
//.... upto 50 to 70 static functions 
 

 

 
var User = mongoose.model('User', userSchema); 
 
module.exports = User;

は、別のファイル(またはモジュール)およびインポートでこれらの関数を記述し、それらをスキーマにアタッチする方法があります。おかげさまで

答えて

0

自分で試したことはありませんが、スタティックを1つのファイルにグループ化し、スキーマの静的プロパティに割り当てることはできますか?また、非常に特定の統計を作成する代わりに、クエリビルダを使用してデータベースを照会することもできます。