2017-07-19 2 views
2

Je développe une application dans le noeud js en utilisant mongodb. J'utilise mongoose comme ODM. Le problème est que j'ai beaucoup de fonctions statiques dans le modèle mongoose qui sont attachés au schéma.Organisation de fonctions statiques dans 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;

Est-il possible d'écrire ces fonctions dans un autre fichier (ou module) et l'importation et les attacher à schéma. Merci.

Répondre

0

Je ne l'ai pas essayé moi-même, mais peut-être simplement regrouper les statistiques dans un fichier et les affecter à la propriété statique dans le schéma? En outre, vous pourriez peut-être utiliser le générateur de requêtes pour interroger votre base de données au lieu de créer des statistiques très spécifiques.