有没有办法避免使用Mongoose进行硬编码?
考虑下面的代码,其中“团队”是一个mongoose模型。
var Team = mongoose.model( 'Team' ); Team.find({'GroupName':gname}, function (err, teams) { // Some code }
如何在mongo中select硬编码“GroupName”:gname时去掉这个硬编码?
一种方法是在模型上定义静态方法 ,公开一个DAO接口来封装这些细节:
Team.js
teamSchema.statics.findByGroupName = function (gname, cb) { this.find({ GroupName: gname }, cb); }; ...
Other.js
Team.findByGroupName(gname, function (err, teams) { // Some code });