Ich versuche, Maxmind Opensource-Datenbank in meiner Nodejs-Anwendung zu öffnen. Meine Anwendung erhält eine Liste von IP-Adressen aus einer Java-Anwendung. Die Anwendung gibt dann den Längen- und Breitengrad für jede IP zurück. Ich habe das synchron erfolgreich gemacht, aber ich möchte es asynchron machen, um die Dinge etwas schneller zu machen. Ich habe einen Code dafür geschrieben, aber die Anwendung wird jedes Mal getötet. Ich vermute, dass der Grund für das gleichzeitige Öffnen derselben Datenbank sein könnte (ich könnte mich irren: D). Ich poste den Code unten. Bitte werfen Sie einen Blick darauf und machen Sie Vorschläge, wo ich falsch liege. Vielen Dank!!!Öffnen von Maxmind DB in Nodejs
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});
}
});
}
});
Hey !! Danke für die Antwort. Es funktionierte wirklich schneller, indem die Datenbank ein einziges Mal geöffnet wurde. –