如何在DynamoDB中使用限制

时间:2019-05-17 20:36:17

标签: node.js amazon-web-services nosql amazon-dynamodb

我有一个dynamoDb表customers

在此表中,我有20m +数据行。

表的模式:

  • 分区键-group_id
  • 排序键-customer_email

我有一个名为

的属性
     "assigned_lists": [
        "e9d55940-77da-11e9-9c25-df4d7393de10",
        ...
     ] 

在此表中。 assigned_lists是字符串的列表数据类型。我想要属于某个assigned_lists的那个客户。只是我搜索了dynamo DB的contains函数

 FilterExpression: "contains(#list, :searchForThisList)" 

我要查询此表,限制为100,这意味着我需要100个属于给定assigned_lists的客户,一个客户可以属于多个assigned_lists,所以我使用LIST数据类型。

我的极限方法:

限制:100,

        Dynamo.query(params, (err,data)=>{
          if (typeof data.LastEvaluatedKey != "undefined") {
             if (data.Count < params.Limit) { //calculating that we get all the data or not

                    params.ExclusiveStartKey = data.LastEvaluatedKey;
                    params.Limit -= data.Count; //Setting the new limit for the next query
                    dynamoDb.query(params, againComeHere);
                    } else {
                       //my process with the data
                    }
        })

我有一些问题:

注意:我是dynamoDB的初学者

1。。我是否使用精细的逻辑进行限制?因为生成结果要花费2分钟以上的时间,所以我需要将其显示在网站的最前面

2。。dynamoDb对我来说是正确的数据库吗?

我渴望得到答复。

0 个答案:

没有答案