首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >dynamodb通过ids数组获取所有项

dynamodb通过ids数组获取所有项
EN

Stack Overflow用户
提问于 2018-11-03 14:45:53
回答 3查看 10K关注 0票数 2

我有一个表,它的属性名为id,类型为HASH。我想从id数组中获取所有项。

代码语言:javascript
代码运行次数:0
运行
复制
{
    TableName: `MyTable`,
    FilterExpression: 'id IN (:id)',
    ExpressionAttributeValues: { ':id': ids },
};

我应该怎么做才能通过我的身份证获得所有的物品?

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2018-11-04 21:52:18

您还可以使用DocumentClientbatchGet

代码语言:javascript
代码运行次数:0
运行
复制
const AWS = require('aws-sdk');
const documentClient = new AWS.DynamoDB.DocumentClient();

let queryParams = {RequestItems: {}};
queryParams.RequestItems['tableName'] = {
  Keys: [{'id': 'Value1'}, {'id': 'value2'}],
  ProjectionExpression: 'id' //define other fileds that you have Ex: 'id,name'
};

documentClient.batchGet(queryParams, function (err, data) {
  if (err) {
    console.log('failure:getItemByBatch data from Dynamo error', err);
  } else {
    console.log('success:getItemByBatch data from Dynamo data');
    console.log(data)
  }
});
票数 5
EN

Stack Overflow用户

发布于 2018-11-04 09:14:45

请使用BatchGetItem接口从DynamoDB表中获取多个值。

BatchGetItem

示例:-

代码语言:javascript
代码运行次数:0
运行
复制
var dynamodb = new AWS.DynamoDB({maxRetries: 5, retryDelayOptions: {base: 300} });

var table = "Movies";

var year_val = 2015;
var title = "The Big New Movie";

var params = {
    "RequestItems" : {
        "Movies" : {
            "Keys" : [ {
                "yearkey" : {N : "2016"},
                "title" : {S : "The Big New Movie 1"}
            } ]
        }
    },
    "ReturnConsumedCapacity" : "TOTAL"
};

dynamodb.batchGetItem(params, function(err, data) {
    if (err) {
        console.error("Unable to get item. Error JSON:", JSON.stringify(err,
                null, 2));
    } else {
        console.log("Movie data:", JSON.stringify(data, null, 2));
    }
});
票数 2
EN

Stack Overflow用户

发布于 2019-12-06 01:03:56

在C#中,下面的代码是使用BatchGet或CreateBatchGet从具有不同guid的dynamodb表中通过is数组获取所有项

代码语言:javascript
代码运行次数:0
运行
复制
        string tablename = "AnyTableName"; //table whose data you want to fetch

        var BatchRead = ABCContext.Context.CreateBatchGet<ABCTable>(  

            new DynamoDBOperationConfig
            {
                OverrideTableName = tablename; 
            });

        foreach(string Id in IdList) // in case you are taking string from input
        {
            Guid objGuid = Guid.Parse(Id); //parsing string to guid
            BatchRead.AddKey(objGuid);
        }

        await BatchRead.ExecuteAsync();
        var result = BatchRead.Results;

// ABCTable是表模式,用于在dynamodb中创建要获取的数据

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/53129094

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档