내 nodejs 응용 프로그램에서 maxmind opensource 데이터베이스를 열려고합니다. 내 응용 프로그램은 Java 응용 프로그램에서 IP 주소 목록을 수신합니다. 그런 다음 응용 프로그램은 각 IP에 해당하는 위도와 경도를 반환합니다. 나는 동기식으로이 작업을 성공적으로 마쳤지 만, 비동기식으로 작업을 좀 더 빨리 수행하기를 원합니다. 이 코드를 작성했지만 응용 프로그램이 매번 종료됩니다. 나는 그 이유가 같은 데이터베이스를 동시에 열어 놓을 수도 있다고 생각하고있다. (나는 틀릴 수도있다 : D). 아래 코드를 게시하고 있습니다. 그것을 살펴보고 내가 잘못 가고있는 곳에 대해 몇 가지 제안을하십시오. 감사!!!Nodejs에서 Maxmind db 열기
app.post('/endPoint', function(req, res){
var obj = req.body;
var list = [];
var ipList = obj.ipList;
for(var i = 0; i<ipList.length; i++){
var ip = ipList[i];
//console.log(i);
maxmind.open('./GeoLite2-City.mmdb', function(err, cityLookup){
if(err) throw err;
console.log("open database");
var city = cityLookup.get(ip);
if(city!=null){
var cordinates = {'latitude': city.location.latitude, 'longitude': geodata.location.longitude};
//console.log(cordinates);
list.push(cordinates);
}
if(list.length == ipList.length){
res.json({finalMap: list});
}
});
}
});
이봐! 답변 해주셔서 감사합니다. 데이터베이스를 한 번 열면 정말 빨리 작동했습니다. !! –