、あなたはタグB or D
を持っている投稿をフィルタリングするためにチェックするとCONTAINS
OR
演算子を使用することができます。スキャンAPIのための
サンプルのparams: -
var params = {
TableName: "post",
FilterExpression: "contains (tags, :tag1) OR contains (tags, :tag2)",
ExpressionAttributeValues: {
":tag1": 'B',
":tag2": 'D'
}
};
全コード: -
以下のコードは、地元DynamoDBのを使用しています。
var AWS = require("aws-sdk");
var creds = new AWS.Credentials('akid', 'secret', 'session');
AWS.config.update({
region: "us-west-2",
endpoint: "http://localhost:8000",
credentials: creds
});
var docClient = new AWS.DynamoDB.DocumentClient();
var params = {
TableName: "post",
FilterExpression: "contains (tags, :tag1) OR contains (tags, :tag2)",
ExpressionAttributeValues: {
":tag1": 'B',
":tag2": 'D'
}
};
console.log("Scanning Post table.");
docClient.scan(params, onScan);
function onScan(err, data) {
if (err) {
console.error("Unable to scan the table. Error JSON:", JSON.stringify(err, null, 2));
} else {
console.log("Scan succeeded.");
data.Items.forEach(function (printItem) {
console.log("Item :", JSON.stringify(printItem));
});
if (typeof data.LastEvaluatedKey != "undefined") {
console.log("Scanning for more...");
params.ExclusiveStartKey = data.LastEvaluatedKey;
docClient.scan(params, onScan);
}
}
}
あなたは[スキャン](http://docs.aws.amazon.com/amazondynamodb/latest/APIReference/API_Scan.html)操作を実行する必要がありますように見えます。 –
タグリストの複数の項目でOR条件を使用できますか? –
これを行うこともできます。または、フィルタ式で[IN](http://docs.aws.amazon.com/amazondynamodb/latest/developerguide/Expressions.SpecifyingConditions.html#ConditionExpressionReference)キーワードを使用して比較することもできます列挙された値のリスト(あなたの 'tags 'が** Map **か** List **かどうかは確かではありません) –