MongoDB
 sql >> Datenbank >  >> NoSQL >> MongoDB

$addToSet-Implementierung für Array-Update bei PATCH-Anfrage

Spring Data REST baut auf Domänenobjekten und der Repository-Abstraktion auf. Es ist also nicht möglich, es mit einer geschäftsspezifischen Implementierung arbeiten zu lassen. Ich gehe davon aus, dass Ihr Hauptziel darin besteht, eine PATCH-Anfrage auf Ihre Domäneninstanz und dieses $addToSet anzuwenden ist nur das Mittel, um das zu erreichen.

Seit Version 2.2 M1 von Spring Data REST unterstützen wir den JSON-Patch-Medientyp auf PATCH-Anfrage. Sie können also folgendes Dokument an den Server senden:

[{ "op": "add", "path": "/a/b/c", "value": [ "foo", "bar" ] }]

Angenommen c ist das Array, das Sie zu manipulieren versuchen, würde dies foo hinzufügen und bar dazu.

Die andere – radikalere Option besteht darin, tatsächlich einen manuell implementierten Controller bereitzustellen und ihn an der richtigen Stelle im URI-Bereich einzuhängen, um manuell mit dem Repository zu interagieren.