CNode

封装mongoose的查询

Yyakczh发布于13 年前最后回复13 年前2 回复4738 浏览0 收藏
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)

Y
yakczh#1·13 年前

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

A
a272121742#2·13 年前
引用 yakczh怎么样给所有的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(){};
})();

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

参与回复
登录后即可参与回复。登录