ich eine DynamoDB Tisch haben, Benutzer, die eine Dokumentstruktur ähnlich der folgenden hat:DynamoDB: Wie Dokument zur Liste Werte in anhängen
{
"id": "1",
"name": "john",
"hobbies": [
{
"description": "painting",
"skill": "amateur"
},
{
"description": "cooking",
"skill": "expert"
}
]
}
Wie zu sehen ist, enthält die Dokumentstruktur eine Liste Attribut Hobbies, die eine Sammlung von Hobby- "Objekten" enthalten können.
Ich möchte eine Update-Anweisung schreiben, um ein neues Element zum List-Attribut hinzuzufügen, wenn es noch nicht existiert.
Zum Beispiel möchte ich ein Hobby mit einer "Beschreibung" von "Entwerfen" und einer "Geschicklichkeit" von "Amateur" zu meiner Update-Funktion weitergeben können, und da dieses Hobby noch nicht in der Liste steht von Hobbys sollte es der Liste hinzugefügt werden. Wenn das Hobby bereits vorhanden ist, sollte es nicht ein zweites Mal hinzugefügt werden.
Ich arbeite in Node.js und daher JavaScript und die AWS.DynamoDB.DocumentClient() mit einer Parameter-Map, um meine Funktionen auszuführen. Die AWS documentation war hilfreich, aber ich habe Mühe, Beispiele dafür zu finden, wie man Parameter so definiert, dass sie Elemente an ein Listenattribut anhängen, wie ich es beschreibe. Hat jemand vielleicht einen Ratschlag, wie man das macht?
Dies ist nützlich, danke. Die Idee eines String-Sets ist etwas, das ich in Betracht ziehen könnte ... das Problem mit diesem Ansatz, dass der Benutzer (in einem anderen Anwendungsfall, den ich in der Frage nicht erwähnt habe) auch in der Lage ist, eines seiner Hobbys zu aktualisieren. Zum Beispiel haben sie vielleicht ein Hobby "malen" und was sie sind ein "Amateur", aber nach einer Weile können sie ihr Können für die "Malerei" Hobby auf "Zwischenstufe" zu aktualisieren. Und ich denke, dass ein String-Set diesen anderen Anwendungsfall komplizieren wird. – Stanley