mongoose中如何进行联合查询?
原来单表查询代码为
exports.getInformation = function(req,res){
var params = req.query;
var cond = {};
console.log('getInformation----->',params);
var skip = (params.current-1)* params.limit;
// 留着给type分类用
// if(params.search){
// cond = {$text:{$search:params.search}};
// }
async.series({
count: function(callback){
Information.find(cond).count(function(err,count){
callback(err,count);
});
},
data: function(callback){
Information.find(cond,function(err,data){
callback(err,data);
}).limit(params.limit).skip(skip).sort({'DRUG_YPTM':-1});
}
},function(err, results){
console.log('results----->',results);
if(err){
return res.status(500).json({success : false,err : err});
}
if(results.data){
const _data = transData.run(ConfigFile.info_output, results.data);
return res.status(200).json({success : true, data : _data, columns : ConfigFile.info_columns,total: results.count});
}else{
return res.status(200).json({success : false});
}
});
};
现在要先到information_state
表中,查询一下消息是否被删除(INFO_DELETE
是否为1,俩表中 INFO_ID相同),应该如何改造查询语句?
或者说 有什么mongoose的方法,可以进行多表查询的?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
如果是简单的关联查询,在非Shard的环境下,可以考虑使用aggregate下的$lookup,让开发简单一些。
https://docs.mongodb.com/mast...
供参考。
Love MongoDB! Have Fun!
自己用async.waterfall实现了一个, 可能不是正规的写法,但是能实现功能。