GOOGLE ADS

Samstag, 23. April 2022

So holen/scannen Sie alle Elemente von „AWS dynamodb“ mit node.js

So holen/scannen Sie alle Elemente AWS dynamodbmit node.js. Ich poste meinen Code hier.

var docClient = new aws.DynamoDB.DocumentClient();
var params = {
TableName:"users",
KeyConditionExpression:"user_status=:status",
ExpressionAttributeValues: {
":status": "Y"
}
};
var queryExecute = function(callback) {
docClient.query(params,function(err,result) {
if(err) {
console.log(err)
callback(err);
} else {
console.log(result);
if(result.LastEvaluatedKey) {
params.ExclusiveStartKey = result.LastEvaluatedKey;
queryExecute(callback);
} else {
callback(err,items);
}
}
});
}
queryExecute(callback);

Dies gibt mir den folgenden Fehler.

ValidationException: Query condition missed key schema element: `user_id`.

Hier ist der Primärschlüssel user_id. Ich möchte es nicht mit meiner Abfragebedingung verwenden, da ich einen Wert festlegen muss, wenn ich den Primärschlüssel in erwähnt habe KeyConditionExpression. Vielleicht liege ich falsch. Schlagen Sie mir jedoch bitte eine gute Möglichkeit vor, alle Artikel von zu holen dynamodb, die habenuser_status = "Y"


Lösung des Problems

Das funktioniert bei mir:

export const scanTable = async (tableName) => {
const params = {
TableName: tableName,
};
const scanResults = [];
const items;
do{
items = await documentClient.scan(params).promise();
items.Items.forEach((item) => scanResults.push(item));
params.ExclusiveStartKey = items.LastEvaluatedKey;
}while(typeof items.LastEvaluatedKey!== "undefined");

return scanResults;
};

Keine Kommentare:

Kommentar veröffentlichen

Warum werden SCHED_FIFO-Threads derselben physischen CPU zugewiesen, obwohl CPUs im Leerlauf verfügbar sind?

Lösung des Problems Wenn ich das richtig verstehe, versuchen Sie, SCHED_FIFO mit aktiviertem Hyperthreading ("HT") zu verwenden, ...