DynamoDB 中字符串集的解组失败
Unmarshall of string set in DynamoDB fails
我已经尝试 marshall
DynamoDB 的 String Set
和 unmarshall
如下所示。
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' } }
我已经尝试 marshall
DynamoDB 的 String Set
和 unmarshall
如下所示。
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' } }