DynamoDB 中字符串集的解组失败

Unmarshall of string set in DynamoDB fails

我已经尝试 marshall DynamoDB 的 String Setunmarshall 如下所示。

import {marshall, unmarshall} from '@aws-sdk/util-dynamodb';

test('Marshall and Unmarshall Test', () => {
  const raw = {
    'anArray': new Set([
      'Apple',
      'Mango'
    ])
  };

  console.log(JSON.stringify(marshall(raw)));
  // {"anArray":{"SS":["Apple","Mango"]}}

  const marshalledResult = marshall(raw);

  console.log(JSON.stringify(unmarshall(marshalledResult)));
  // {"anArray":{}}

});

但我无法取回 String Set。当我们应该从 dynamo db 获取 String Set 并使用它时,我们应该怎么做?

unmarshall 是正确的做法。我相信您没有看到预期的结果,因为 JSON.stringify 。尝试直接记录解组结果:

const unmarshalled = unmarshall(marshalledResult)
console.log(unmarshalled);
// => { anArray: Set(2) { 'Apple', 'Mango' } }