Ich habe ein kleines Nodejs-Skript mit meiner DynamoDB verbunden und einer meiner primären Sortierschlüssel ist datetime, was in UTC dargestellt wird.Integration von AWS DynamoDB und Nodejs - Wie wird zwischen zwei Daten gefiltert?
Ich möchte die Ergebnisse nach einem bestimmten Datum und Uhrzeit filtern und habe Probleme mit meinem Filterausdruck.
var params = {
TableName: "realtimeusers",
ProjectionExpression: "brand, datetime, activeusers",
KeyConditionExpression: "brand = :brand",
FilterExpression: "datetime > :today",
ExpressionAttributeValues: {
":brand": "BRAND A",
":today": 1464705900
},
};
erhalte ich die Fehlermeldung:
"message": "Invalid FilterExpression: Attribute name is a reserved keyword; reserved keyword: datetime",
Ich glaube, ich etwas in meinem Filterausdruck bin fehlt, dass ich nicht vollständig erfassen.
Kann jemand bitte helfen?
Haben Sie ein Attribut DATETIME- in Ihrem Dynamo Rekord? Es ist ein reserviertes Keyword. Versuchen Sie, Expression-Attributnamen zu verwenden. Hier ist der Link zur aws-Dokumentation. http://docs.aws.amazon.com/amazondynamodb/latest/developerguide/ReservedWords.html – Shibashis
@Shibashis Ja, ich meine, bedeutet das, ich sollte es nicht haben und sollte meine Datenbank löschen und neu starten? – turtlepower
Löschen Sie nichts. Verwenden Sie Expression-Attributnamen http://docs.aws.amazon.com/amazondynamodb/latest/developerguide/ExpressionPlaceholders.html#ExpressionAttributeNames – Shibashis