Meine Scan-Funktion:Scan-Funktion in DynamoDB mit reserviertem Schlüsselwort als Filterexpression NodeJS
var tableName = 'faasos_orders',
filterExp = 'status = :delivered OR status = :void OR status = :bad',
projectionValues = '',
expressionAttr = {};
expressionAttr[":delivered"] = "delivered";
expressionAttr[":bad"] = "bad";
expressionAttr[":void"] = "void";
limit = 10;
dynamoConnector.getItemUsingScan(tableName, filterExp, projectionValues, expressionAttr, function (err, data) { ...........}
Fehler beim Laufen:
{ [ValidationException: Invalid FilterExpression: Attribute name is a reserved keyword; reserved keyword: status]
message: 'Invalid FilterExpression: Attribute name is a reserved keyword; reserved keyword: status',
code: 'ValidationException',
time: Mon Apr 18 2016 21:57:30 GMT+0530 (IST),
requestId: 'AV6QFHM7SPQT1QR3D4OO81ED4FVV4KQNSO5AEMVJF66Q9ASUAAJG',
statusCode: 400,
retryable: false,
retryDelay: 0 }
Jetzt mache ich den Punkt erhalte ich ein reserviertes Schlüsselwort zu verwenden, versuchen in th e filterExpression, die illegal ist. Aber wenn ich die gleiche Funktion durch aws laufen gui es Daten schön (für Details überprüfen Bild) liefert: Scan function on status through gui
Die Frage ist also, wie kann ich den Filterausdruck durch den Knoten hinzuzufügen, ohne den Schlüsselnamen ändern zu müssen ?? ?
Vielen Dank für Ihre Mühe. Hatte einen ähnlichen Fehler. :-) – kometen
Yay. Amazons Dokumentation ist einfach so großartig, weißt du. Obwohl dies das wichtigste Handbuch für DynamoDB gefunden wurde: [Dev Guide Neueste Amazon dynamodb] (http://docs.aws.amazon.com/amazondynamodb/latest/developerguide/Introduction.html) @ kometen –