跳到主要内容
CNode

mongoose 如何把mongdb的数据赋值给全局变量?

问答
PPenergy发布于 10 年前最后回复 10 年前
443350
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)

J
jingsam#310 年前

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

P
Penergy#210 年前
引用 jingsam把console.log(filter)移到function(queryResult){}里面

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

J
jingsam#110 年前

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

参与回复

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