Ich bin vor Problem aufgrund des Fehlers dhFehler: nicht Header gesetzt, nachdem sie sent.At ServerResponse.OutgoingMessage.setHeader (_http_outgoing.js: 356: 11) sind
Can't set headers after they are sent
Eigentlich bin ich so auf meine MongoDB abzufragen.
Test.aggregate([
{$match: {'ownerid': req.body.ownerid}},
{$unwind: '$groupname'},
{$project: {_id:1, groupname :"$groupname",}}
], function(error, data){
if(error) {
console.log(error);
} else {
//It will return Two group id.
for(var i=0; i<data.length; i++){
//These are the variables for my custom function which can update my query on another table
var primaryfilter = {'userid': req.body.ownerid};
var secondaryfilter = { "groupowned" : { 'groupid': data[i]._id, 'groupname': data[i].groupname } };
var activityname = 'Group Owned';
updater(req, res, Test1, primaryfilter, secondaryfilter, activityname);
}
}
});
Dies ist meine Aktualisierungsfunktion:
var updater = function(req, res, CollectionName, primaryfilter, secondaryfilter, activityname){
CollectionName.update(primaryfilter, {$push: secondaryfilter}, function(error2, result){
if (error2) {
res.send({"error":"true", "status":"500", "message":"Oops! Some error occurred while updating the "+activityname+" on Post"});
} else {
res.send({"error":"false", "status":"201", "message":"Successfully Updated "+activityname+" on Post"});
}
});
};
Eigentlich mag ich Gruppe, von der Testsammlung holen und aktualisieren all diesen Ids auf meiner sekundären Tabelle dh Test1 Ich weiß, dass dieser Fehler generiert Due schleifen. Jeder schlägt mir vor, wie ich das lösen kann. Jede Hilfe wird geschätzt
warum rufen Sie res.send nicht nach der for-Schleife ?? – sidgate
Weil ich einen Eintrag einzeln updaten muss –