封装mongoose的查询
发布于 12 年前 作者 yakczh 4418 次浏览 最后一次编辑是 9 年前
function  search(model,query,option,cb){
      
      var query = model.find(query);
      
      for(var op in option){
          
          query[op](option[p]);
          
      }
 
      query.exec(cb);
       
      
      
  }
  调用
  search(BlogModel,{},{limit:10,sort:{ctime: -1}},function(err,data){
      
      console.log(data);
  });

修改option就可以,都可以做成配置的文件来查

2 回复

怎么样给所有的model类都加上这个方法呢?

做一个工厂:

function factory(modelName){ 
  var model = db.model(modelName); 
  model.search = function(){}; 
  return model; 
}

或者像JQuery一样:

//初始化程序时运行
(function(){
  var mongoose = require('mongoose');
  mongoose.Model.prototype.search = function(){};
})();

第二种没试过,你试一试看怎么样?

回到顶部