如何为GetCommand组合键进行编组

huangapple go评论52阅读模式
英文:

How to Marshall a composite key for GetCommand

问题

以下是代码的中文翻译部分:

我有一个 DynamoDB 分区键为 'shop'排序键为 'item'我想使用 GetItemCommand 来使用这个复合键查找特定的项目

const params = {
  TableName: process.env.DYNAMODB_TABLE_NAME,
  Key: marshall({ shop: String(event.pathParameters.shop), item: String(event.pathParameters.item) }),
};
const { Item } = await db.send(new GetItemCommand(params));
console.log("项目:" + Item);

但它返回 undefined。

英文:

I have a dynamo table with a partition key of 'shop' and sort key 'item'. I want to use GetItemCommand to find a particular item using this composite key.

  const params = {
  TableName: process.env.DYNAMODB_TABLE_NAME,
  Key: marshall({shop: String(event.pathParameters.shop),
                  item: String(event.pathParameters.item) }),
   };
  const {Item} = await db.send(new GetItemCommand(params));
  console.log("item" + Item);

but it returns undefined

答案1

得分: 1

给这个一试

const keys = marshall(
{
shop:event.pathParameters.shop,
item:event.pathParameters.item
})

const params = {
TableName: process.env.DYNAMODB_TABLE_NAME,
Key: keys,
};

console.log(params);

try{
const {Item} = await db.send(new GetItemCommand(params));
console.log("item" + Item);
}catch(e){
console.log(e);
}

英文:

Give this a go

const keys = marshall(
    {   
       shop:event.pathParameters.shop,
       item:event.pathParameters.item 
    })

const params = {
  TableName: process.env.DYNAMODB_TABLE_NAME,
  Key: keys,
};

console.log(params);

try{
  const {Item} = await db.send(new GetItemCommand(params));
  console.log("item" + Item);
}catch(e){
  console.log(e);
}

huangapple
  • 本文由 发表于 2023年2月18日 18:51:56
  • 转载请务必保留本文链接:https://go.coder-hub.com/75492819.html
匿名

发表评论

匿名网友

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen:

确定