mongoose 如何把mongdb的数据赋值给全局变量?
发布于 8 年前 作者 Penergy 3874 次浏览 来自 问答
var filter = []; 
var promise = filterModel.find().exec();

promise.then(
	function(queryResult){
		for(var i in queryResult){
			var filterId = queryResult[i].id;
			var filterName = queryResult[i].name;
			filter[filterId] = filterName;
		}
	},
	function(err){
		console.log('Error');
	}
);
console.log(filter);

在console中没有显示变量filter的数值,请问如何使用mongoose调取数据库数据?

4 回复

把console.log(filter)移到function(queryResult){}里面

@jingsam 移到function(queryResult){}显示出数值了。但是filter变量的无法在promise外使用。

建议好好理解下node 的回调函数执行机制,这段代码的执行顺序不是你想的那样,一行一行地执行,准确地来说最后一行console.log会先于promise里面的回调函数执行

@jingsam 嗯,谢谢指导

回到顶部