Skip to content

Instantly share code, notes, and snippets.

Revisions

  1. @ryanhanwu ryanhanwu created this gist Apr 26, 2017.
    32 changes: 32 additions & 0 deletions dynamoScanPromise.js
    Original file line number Diff line number Diff line change
    @@ -0,0 +1,32 @@
    var params = {
    TableName: 'MYTABLE',
    FilterExpression: 'contains (myKey , :query)',
    ExpressionAttributeValues: {
    ':query': query
    }
    }

    var dynamoScan = new Promise(function(resolve, reject) {
    var results = []
    var onScan = (err, data) => {
    if (err) {
    return reject(err)
    }
    results = results.concat(data.Items)
    if (typeof data.LastEvaluatedKey != 'undefined') {
    params.ExclusiveStartKey = data.LastEvaluatedKey
    docClient.scan(params, onScan)
    } else {
    return resolve(results)
    }
    }
    docClient.scan(params, onScan)
    })
    dynamoScan
    .then((results) => {
    res.json(results)
    })
    .catch((err) => {
    Logger.error(err)
    return next(err)
    })