0
我想在我的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});
}
});
}
});
嘿!感谢你的回答。通过一次打开数据库,它确实运行得更快。 –