2016-07-18 7 views
0

Ich habe eine Liste von Artikeln. Jeder Artikel hat eine Versionsnummer.Wie scannt man mit DynamoDB Node SDK nach Elementen mit MAX-Wert?

UUID | Version 
-------------- 
ABC | 1 
DEF | 1 
ABC | 2 
ABC | 3 
XYZ | 1 

Wie kann ich eine Liste erhalten, die

ABC 3 
DEF 1 
XYZ 1 

zurückkehren würde ich, wenn ich .query für einen Artikel verwenden, verfügbar max Version bekommen ist von ScanIndexForward: false seit dem version tun, ist eine Art Schlüssel in dieser Fall. Nicht sicher von der scan Art, dies zu tun, wenn es welche gibt.

Antwort

0

Ich glaube nicht, dass das möglich ist. Sie könnten es in Code tun, sobald Sie alle Ergebnisse abgerufen haben, oder Sie könnten für Elastic Map Reduce (was ich verstehe, ist ein bisschen schwer für eine Aufgabe wie folgt) erreichen.

Alternativ können Sie versuchen, zu verwalten, welcher Datensatz die "aktuelle" Version war, und diesen zu Ihrem Scan hinzufügen oder separat in einer anderen Tabelle halten.

Wahrscheinlich einige andere Optionen, aber ich bin mir sicher, alle sind weniger als ideal, sorry.

+0

Sie als Antwort zu markieren, da Sie Recht hatten, dass es nicht möglich ist. Ich habe ein 'current_version'-Flag hinzugefügt. Wenn ich den Datensatz mit einer neuen Version aktualisiere, nehme ich einfach das letzte Element mit der gleichen UUID und aktualisiere das Versions-Flag auf false. –