Ich muss eine Liste der Objekt-IDs durchlaufen, einen Benutzer suchen, und ändern Sie dann das JSON-Objekt und geben Sie es zurück.Notwendigkeit, JSON zu ändern und innerhalb Aync Find-Vorgang
Ich habe in Bluebird untersucht, aber der Code unten führt nicht aus, wie ich es möchte. Es scheint, als ob das Ändern des JSON-Objekts nach dem Zurückgeben erfolgt.
Ich habe versucht, user["test"] = "lol"
zurückgeben, aber das gibt nur den Wert von "test", während ich die gesamte aktualisierte JSON benötigt.
Promise.map(['5781635026d6fad4486d81e9', '578296e31029e27b4ea53e9d'], function(i) {
return User.findOneAsync({
_id: i
}).then(function(user) {
user["test"] = "lol";
return user;
});
}).then(function(array) {
res.send(array);
})
Gibt es eine elegante Lösung?
zeigen Bitte den Inhalt von 'array' und' user'. In Code, den Sie gezeigt haben, wäre das 'Array' ein Array, das die zurückgegebenen' user' Objekte enthält. Abgesehen davon ist JSON eine Zeichenfolge, Sie sprechen über JavaScript-Objekt. –
Das Array enthält nur die Benutzerobjekte ohne die Änderungen. – james
Was ist der Inhalt von 'user' nach' user ["test"] = "lol"; '? Platziere eine 'console.dir (user);' direkt nach 'user [" test "] =" lol ";'. –