Iva*_*ins 3 javascript lambda node.js amazon-dynamodb
这是表结构。在帖子列中,它是一个字符串列表
所以我一直在阅读并尝试将 filterExpression 与“包含”一起使用。node.js 中的文档只需要使用CONTAINS b,其中a可以是列表,而b对我来说是我正在搜索的字符串。
var db = new doc.DynamoDB();
var params = {
TableName: "WIT_Search",
KeyConditionExpression: "#type = :tag and #key between :start AND :end",
FilterExpression: "#tag contains :post",
ExpressionAttributeNames: {
"#type": "type",
"#tag": "posts",
"#key": "key",
},
ExpressionAttributeValues: {
":tag": "tag",
":start": tag+"_",
":end": tag+"_999",
":post": postID
}
};
console.log(params);
db.query(params, function(err, data) {
if (err) {
console.error("Unable to query. Error:", JSON.stringify(err, null, 2));
} else {
console.log("Query succeeded.");
console.log('Count =',data.Items.length);
if (data.Items.length > 0){
console.log("post exists in tag");
}else{
console.log("post doesnt exist in tag");
}
}
});
Run Code Online (Sandbox Code Playgroud)
每当我进行测试时,它都会给我这条消息:
Unable to query. Error: {
"message": "Invalid FilterExpression: Syntax error; token: \"contains\", near: \"#tag contains (\"",
"code": "ValidationException",
}
Run Code Online (Sandbox Code Playgroud)
AWS 控制台上奇怪的事情它没有问题,只是在 lambda 中与 node.js 一起使用它会出现此错误。
| 归档时间: |
|
| 查看次数: |
5007 次 |
| 最近记录: |