【发布时间】:2018-06-06 20:22:49
【问题描述】:
我有一个“用户”表,这是一个示例:
{
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\"",
IN 关键字有问题吗? 也许还有另一种方法可以实现这一点?
【问题讨论】:
-
你试过“(verified = :v) AND (formattedPhone IN (:n))”吗?
-
嗨!我刚试过,但没用..
-
@HadrienPierreMazelier 你能粘贴你的工作示例吗
标签: amazon-web-services amazon-dynamodb aws-sdk nosql