جاوااسکریپت - نحو صحیح برای گرفتن() entries که کلید مرتبسازی با یک زیررشته شروع میشود با استفاده از AWS.DynamoDB.DocumentClient در NodeJS چیست؟
نحو صحیح برای پرس و جو از رکوردهای پایگاه داده که کلید مرتبسازی آنها با یک رشته خاص شروع میشود چیست؟
من فکر میکنم چیزی شبیه به این است که
const query_params = {
TableName: 'my_table',
Key: {
my_primary_key: 'a_primary_key_value',
},
FilterExpression: "my_sort_key begins_with :string",
ExpressionAttributeValues: {
":string": "starts_with_substring"
}
};
پس از آن dynamoDb.get(query_params, ... میآید، اما این کاملاً درست نیست. من با خطای ValidationException: The provided key element does not match the schema مواجه میشوم.
پاسخ شماره ۱
طبق مستندات پرسوجوی SDK، پارامترهای پرسوجوی شما باید به این شکل باشند
{
TableName: "my-table",
KeyConditionExpression: "#pk= :pk And begins_with(#sk, :sk)",
ExpressionAttributeValues: {
":pk": "a_primary_key_value",
":sk": "starts_with_substring"
},
ExpressionAttributeNames: {
"#pk": "my_primary_key",
"#sk": "my_sort_key"
}
}
شما همچنین نیاز دارید که dynamoDb.get() را به dynamoDb.query() تغییر دهید.
