Warum gibt DynamoDB-Scan mit Limit und FilterExpression nicht die Elemente zurück, die den Filteranforderungen entsprechen?

ch muss einen Scan mit Limit und einer Bedingung für DynamoDB durchführe

Das docs sagt:

In einer Antwort gibt DynamoDB alle übereinstimmenden Ergebnisse im Rahmen des Grenzwerts zurück. Wenn Sie beispielsweise eine Abfrage oder eine Scananforderung mit einem Grenzwert von 6 und ohne Filterausdruck ausgeben, gibt DynamoDB die ersten sechs Elemente in der Tabelle zurück, die den angegebenen Schlüsselbedingungen in der Anforderung entsprechen (oder nur die ersten sechs Elemente in der Fall eines Scans ohne Filter). Wenn Sie auch einen FilterExpression-Wert angeben, gibt DynamoDB die Elemente in den ersten sechs zurück, die auch den Filteranforderungen entsprechen (die Anzahl der zurückgegebenen Ergebnisse ist kleiner oder gleich 6).


Der Code (NODEJS):

var params = {
    ExpressionAttributeNames: {"#user": "User"},
    ExpressionAttributeValues: {":user": parseInt(user.id)},
    FilterExpression: "#user = :user and attribute_not_exists(Removed)",
    Limit: 2,
    TableName: "XXXX"
};

DynamoDB.scan(params, function(err, data) {
    if (err) {
        dataToSend.message = "Unable to query. Error: " + err.message;
    } else if (data.Items.length == 0) {
        dataToSend.message = "No results were found.";
    } else {
        dataToSend.data = data.Items;
        console.log(dataToSend);
    }
});



Tabelle XXXX Definitionen:

Primärer Partitionsschlüssel: Benutzer (Nummer) Primärer Sortierschlüssel: Bezeichner (String)INDEXIndex Name: RemovedIndexType: GSIPartitionsschlüssel: Entfernt (Nummer)Sort key: -Attributes: ALL


In Code oben, wenn ich das @ entferLimit -Parameter gibt DynamoDB die Elemente zurück, die den Filteranforderungen entsprechen. Die Bedingungen sind also in Ordnung. Aber wenn ich mit @ scanLimit Parameter, das Ergebnis ist leer.

Die XXXX-Tabelle enthält 5 Elemente. Nur die 2 ersten haben dasRemoved Attribut. Wenn ich ohne @ scanLimit -Parameter, DynamoDB gibt die 3 Elemente ohne @ zurüRemoved attribute.

Was mache ich falsch?