У меня есть «Пользователи» таблицы, вот пример:«В» заявлении в dynamodb
{
username:"haddox",
formattedPhoneNumber:"676767676",
verified: 0,
}
Мое желание, чтобы получить все пользователи, formattedPhoneNumber содержится в массиве телефонных номеров (извлеченных из моего контакты). Я создал вторичный индекс, который был проверен как HASH и formattedPhoneNumber как RANGE. Вот моя попытка:
var params = {
TableName: "Users",
IndexName: "FormattedPhoneSecondaryIndex",
KeyConditionExpression: "verified = :v AND formattedPhone IN :n",
ExpressionAttributeValues: {
":v":1,
":n": ["672053916", "642117296"]
},
ProjectionExpression: "username, formattedPhoneNumber"
};
dynamodb.query(params, function(err, data) {
if (err)
console.log(JSON.stringify(err, null, 2));
else
console.log(JSON.stringify(data, null, 2));
});
Но я получаю следующее сообщение об ошибке: Invalid KeyConditionExpression: Syntax error; token: \":n\", near: \"IN :n\"",
Есть ли что-то не так с ключевым словом? Возможно, есть еще один способ добиться этого?
Вы попробовали «(проверено =: v) И (форматированоPhone IN (: n))»? – jarmod
Привет! Я просто попытался, но это не сработало. –
@HadrienPierreMazelier вы можете вставить вам рабочий пример –