質問したい事。
Node.jsより、DynamoDB内の以下テーブルから、[flag]が1,もしくは4のレコードのみ取得したい。
※Noを検索対象のキーにはしない想定です。
[Testテーブル]
////////////
No flag
a 1
b 2
c 3
d 4
////////////
const AWS = require("aws-sdk"); const DynamoDB = new AWS.DynamoDB.DocumentClient({ region: "ap-northeast-1" }); const trigger = { TableName: 'Test', IndexName: 'flag-index', KeyConditionExpression: "#f1 = :val1 OR #f1 = :val2", ExpressionAttributeNames:{'#f1': 'flag'}, ExpressionAttributeValues:{":val1: 1,:val2: 4"}, }; await new Promise((resolve, reject) => { DynamoDB.query(trigger, (err, data) => { console.log(data); var count = data.Items['flag']['0']; console.log("フラグの結果"); console.log(count); if(count == 1,4){ //存在する場合 console.log("フラグ有り"); console.log(data); resolve(JSON.stringify(data)); }else{ console.log("フラグ無し"); console.log(err); reject(err); } }; }); }); return true; };
上記を実行しても、結果として、nullの値が取れてしまいます。
期待している動作としては、JSON形式でflagが1 もしくは 4のレコードを取得し、
かつ、そのレコードのNoの値を以下の様に変数に格納したいのですが、上手く行かず。
var count1 = data.Items['flag']['1'];
var count4 = data.Items['flag']['4'];
お助けいただけませんでしょうか。
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。