问个关于 node 和 mongoose 的查询问题。
发布于 8 年前 作者 JZLeung 3351 次浏览 来自 问答

mongodb 中有这么两个集合:itemsad 现在在首页中,需要显示 items 中的某几个数据,和 ad 中的某几个数据。应该怎么处理? 在回调中嵌套回调?

Items.find(function(data){
	Ad.find(function(data){
		res.render(someTemplates, someDatas);
	}
})

不知道有没有其他好的处理方法?

3 回复

可以用async模块的parallel(tasks, [callback])方法,parallel函数是并行执行多个函数,每个函数都是立即执行,不需要等待其它函数先执行。 传给最终callback的数组中的数据按照tasks中声明的顺序。https://cnodejs.org/topic/54acfbb5ce87bace2444cbfb。

async.parallel([
	function(callback){
		Items.find(function(data){callback(null,data)});
	},
	function(callback){
		Ad.find(function(data){callback(null,data)});
	}
],
function(err, results){
	if(err){
	}else{
		res.render(result[0], result[1]);
	}	
});

@youthfighter node 4.4的版本支持这种写法嘛?

回到顶部