db_handle = new mongodb.Db("spa", mongodb_server, {safe: true});
db_handle.collection(
obj_type,
function(outer_error, collection){
collection.find(find_map, fields_map).toArray(function(inner_error, map_list){
callback(map_list);
});
}
);
上面的操作为什么要在collection方法里面操作,貌似被包了两层,有点看不懂哦
NodeJS的精髓在于异步非阻塞,明白了这点很多事情就好理解了。说直白点就是:需要等待的地方就会有一个函数,等这个操作准备好的时候会调用这个函数。所以你这里的两个函数其实代表了两个等待:
连接数据库。这是网络操作需要等待,所以第一个函数是在等这个
获取结果。你的查询需要一定时间才能返回,所以第二个函数是在等结果返回