mongoose聯表查詢

/**
* dataGird數據表格查詢路由,其中涉及到根據列排序、獲取不一樣
* 任務狀態數據、以及獲取當前登陸者相匹配的數據
*/
router.route('/queNotic').get(function (req, res) {
//分頁數據獲取
var page = req.query.page; //用於分頁查詢提供當前頁數
var length = req.query.rows; //用於分頁查詢提供每頁行數
//業務邏輯數據獲取
var status=req.query.status; //只獲取某種任務狀態的數據、故頁面被分爲三種任務狀態所對應
var name = req.query.name; //用於任務名模糊查詢
var sort= req.query.sort; //用於點擊列頭獲取須要以哪一列數據做爲排序依據
var order=req.query.order; //用於表示升序排列或者降序排列,只有兩個值 'asc' 或者 'desc
var year=req.query.year; //在已完成和全部任務頁面中、進行年份的爲依據的模糊查詢
var sortItem={sort:sort,order:order}; //排序依據造成排序對象
var current_id=req.session.current_user._id;//獲取當前登陸用戶的id。用於只顯示接收人或者發送者爲當前用戶的數據
if (page == 0) {
page = 1;
}
var condition={status:status,name:name,current_id:current_id,year:year};
console.log('分頁參數:page=' + req.query.page + ',length=' + req.query.rows);

service.getPmListForNotice(page,length,condition,sortItem,function (result) {
utils.respJsonData(res, result);
});
});
 
 
 
/** * easyui分頁查詢 * @param page 頁數 * @param size 分頁大小 * @param condition 條件(包括任務名稱、年份等) * @param cb 回調函數,處理json數據以及服務器相應信息封裝. * @param sortItem 排序參數 * */exports.getPmListForNotice = function(page, size, condition,sortItem, cb) {    var query=model.$user_pm_statusModel.find({});    query.populate('pm_id');    query.skip((parseInt(page) - 1) * size);    query.limit(parseInt(size));    query.where({status:condition.status,user_id:condition.current_id});    //計算分頁數據    query.exec(function(err,rs){        if(err){            cb(utils.returnMsg(false, '1000', '根據姓名查詢出現異常。', null, err));        }else{            //計算數據總數            model.$user_pm_statusModel.find({}).populate('pm_id').exec(function(err,result){                if(err){                    cb(utils.returnMsg(false, '1000', '根據姓名查詢出現異常。', null, err));                }else {                    var pmArray=[];                    for(var i in rs){                        pmArray.push(rs[i].pm_id);                    }                    cb(utils.returnMsg4EasyuiPaging(true, '0000', '根據姓名查詢成功。', pmArray, result.length));                }            });        }    });};
相關文章
相關標籤/搜索