2017-10-10 3 views
0

Gibt es eine Möglichkeit, eine Dynamodb-Tabelle mit mehreren Werten für ein einzelnes Attribut abzufragen?Abfrage mit mehreren Werten für dasselbe Attribut in dynamodb nodejs

 TableName: "sdfdsgfdg" 
     IndexName: 'username-category-index', 
     KeyConditions: { 
     "username": { 
      "AttributeValueList": { "S": "[email protected]" } 
      , 
      "ComparisonOperator": "EQ" 
     }, 
     "username": { 
      "AttributeValueList": { "S": "[email protected]" } 
      , 
      "ComparisonOperator": "EQ" 
     }, 
     "category": { 
      "AttributeValueList": { "S": "Coupon" } 
      , 
      "ComparisonOperator": "EQ" 
     } 
     } 

Antwort

0

BachGetItem API kann verwendet werden, um mehrere Elemente aus DynamoDB Tisch zu bekommen. Es kann jedoch nicht in Ihrem Anwendungsfall verwendet werden, da Sie die Daten von Index erhalten.

Die BatchGetItem-Operation gibt die Attribute eines oder mehrerer Elemente aus einer oder mehreren Tabellen zurück. Sie identifizieren angeforderte Elemente nach Primärschlüssel.

In der API-Perspektive gibt es keine andere Lösung. Möglicherweise müssen Sie sich die Datenmodellierungsperspektive ansehen und die Tabelle/den Index so entwerfen, dass sie Ihrem Abfragezugriffsmuster (QAP) entspricht.

Beachten Sie außerdem, dass die mehrfache Abfrage des Index mit Partitionsschlüsselwerten (d. H. Einer kleinen Anzahl) die Leistung nicht beeinträchtigt, solange es sich um eine Handvoll Elemente handelt.

Verwandte Themen