Ich habe ein angularJS-Frontend mit $ Ressource, um Anfragen mit HTTP-Methoden an meinen Go-Server zu senden. Ich möchte einen vorhandenen DB-Eintrag aktualisieren, wenn ich einen PATCH sende. Ich muss dem GO-Server mehrere Datenfelder liefern. Wie sollte der angularJS Client die Daten in welchem Format senden? Aus dem mgo doc habe ich den folgenden Code zum updaten gefunden. Ist es möglich, dass das Update-Feld eine Go-Struktur übernimmt, die von Daten, die vom Client empfangen werden, analysiert wird und die leeren Felder überspringt?Golang + mgo - Wie aktualisiert man ein db Dokument?
change := mgo.Change{
Update: bson.M{"$inc": bson.M{"n": 1}},
Upsert: false,
Remove: false,
ReturnNew: true,
}
info, err = col.Find(M{"_id": id}).Apply(change, &doc)
fmt.Println(doc.N)
Mein AngularJS Code, wo ich plane, um die Daten als Abfrage zu senden.
UpdateOneSchedule.update({bkresources:dbResources},
function(data){
//on success
},
function(httpResponse){
//on error
if(httpResponse.status === 409){
}
});
könnten Sie erklären, was $ set und $ inc tun? Ich kann keine Dokumentation dafür finden. –
'$ inc' erhöht die Felder' n' um 1, '$ set' setzt die Werte der Felder. Ich habe gerade einen Fehler im Code erkannt, ich werde ihn bearbeiten. Relevante Dokumente: https://docs.mongodb.com/manual/reference/operator/update/set/ und https://docs.mongodb.com/manual/reference/operator/update/inc/ –