Friday, 21 April 2017

How do I query based on secondary indexes using dynamo db and node js

How can I query using secondary index using dynamo db and node js

Heres my code so far, but it doesn't work

getObjectByAlternateKey: function (keyName, keyObj, indexName, callback, consistentRead) {
    var params = {
        TableName: this.tableName,
        KeyConditionExpression: keyName + ' = :v_key',
        ExpressionAttributeValues: converters.jsObjectToDynamoMap({ ':v_key': keyObj }),
        IndexName: indexName,
        ConsistentRead: !!consistentRead
    };
    this.dynamo.query(params, function (error, data) {
        console.dir(data);
        if (error) {
            return callback(error);
        }
        if (data.Items && data.Items.length > 0) {
            if (data.Items.length !== 1) {
                console.warn("Got more than one item returned for query!", { query: params, data: data });
            }
            return callback(null, converters.dynamoMapToJsObject(data.Items[0]));
        }

        return callback(null, null);
    });
},



via Jasmine