Ich baue eine REST-API mit Knoten und restified diese Kommunikation mit einer ElasticSearch-Datenbank. Wenn ich jetzt ein Objekt lösche, möchte ich eine Art kaskadierendes Löschen für einige andere Objekte durchführen. Ich weiß, das ist nicht wirklich, was Elasticsearch zu verwenden, aber mit mir bare.Mehrere Funktionen in Restify-Funktion zu elasticsearch Client
So, hier ist mein Code:
function deleteHostname(req, res, next) {
res.setHeader('Access-Control-Allow-Origin', '*');
var endpoints = [];
client.search({
index: 'test',
type: 'something',
body: {
from: 0, size: 100,
query: {
match: {
hostname: 'www.test.com'
}
}
}
}).then(function (error, resp) {
if(error) {
res.send(error);
}
endpoints = resp.hits.hits;
for (index = 0, len = endpoints.length; index < len; ++index) {
client.delete({
index: 'test',
type: 'something',
id: endpoints[index]._id
}, function (error, response) {
if(error) {
res.send(error);
}
});
}
res.send(endpoints);
return next();
});
}
Also im Grunde nur suchen, möchte ich für alle Objekte mit dem Hostnamen www.test.com (ich nur schwer diese codiert, es zu testen). Dann möchte ich alle gefundenen Objekte löschen. Es folgt der Fehlerpfad und schickt mir folgendes:
{
"took":1,
"timed_out":false,
"_shards":{
"total":5,
"successful":5,
"failed":0
},
"hits":{
"total":1,
"max_score":2.098612,
"hits":[
{
"_index":"test",
"_type":"something",
"_id":"123456",
"_score":2.098612,
"_source":{
"duration":107182,
"date":"2016-05-04 00:54:43",
"isExceptional":true,
"hostname":"www.test.com",
"eta":613,
"hasWarnings":false,
"grade":"A+",
"ipAddress":"ipip",
"progress":100,
"delegation":2,
"statusMessage":"Ready"
}
}
]
}
}
Also meiner Meinung nach sieht das nicht wie ein Fehler aus? Warum bekomme ich es als Fehler zurück? Wenn ich entferne:
Von meinem Code werde ich keine Antwort erhalten.
Vielen Dank im Voraus für jede Hilfe oder Anregungen.
Ok, so hatte ich um noch eine Sache zu ändern, aus irgendeinem Grund gab es mir immer einen Fehler, während es tatsächlich die Antwort war, also änderte ich dann (Funktion (Fehler, resp)) zu. Dann (Funktion (resp)), um mir nur die Antwort zu geben und jetzt funktioniert es! – Matthias
Oh ja, guter Punkt, das habe ich verpasst, der dann Callback hat kein Fehlerargument. – Val