我正在尝试使用“dynamodb-doc”在AWS DynamoDB中执行查询。我的NodeJS代码如下所示:
const AWS = require('aws-sdk');
const DOC = require('dynamodb-doc');
const dynamodb = new AWS.DynamoDB({});
const docMyTable = DOC.DynamoDB(dynamodb);
var CodeSet = ['code01', 'code02', 'code03'];
var queryParams = {TableName: 'my-table'}
queryParams.KeyConditions = [docMyTable.Condition("code", "IN", CodeSet)];
docMyTable.query(queryParams, (err, data) => {
if(err) throw err;
console.log(data);
});
可以找到条件的AWS文档here。它指定对于ComparisonOperator“IN”,支持“数组字符串”但我收到以下错误:
ComparisonOperator IN对L AttributeValue类型
无效
我的代码中遗漏了什么?
答案 0 :(得分:1)
您可以使用docClient.Set
方法创建SET。只要在DyanmoDB表中将code
定义为SET,下面的解决方案就可以解决问题。
var DOC = require("dynamodb-doc");
var docClient = new DOC.DynamoDB();
docClient.Set(["a", "b", "c"], "S")
IN:检查两组中的匹配元素。