【发布时间】:2022-02-01 22:29:20
【问题描述】:
我有一个 nodejs 应用程序,我正在使用 putItem() 插入 DynamoDB。我将值传递给的表有一个名为“id”的主键。现在我要做的是生成一个 UUID 并在我插入数据时将主键值设置为该 UUID。但是,当我插入时,“id”会用双引号插入。例如:而不是id: 229f0a06-7257-4727-b825-a6e8ea343b1e,它将显示为id : "229f0a06-7257-4727-b825-a6e8ea343b1e"。我检查了架构,它显示“id”KeyType 是HASH。这是我必须插入数据库的代码:
let data = {};
data.id= uuidv4(); //Trying to set the primary key "id"
data.name = "Test";
const dynamoDB = new DynamoDBClient;
const result = await dynamoDB.putItem(data);
当我检查数据库表时,它显示id : "229f0a06-7257-4727-b825-a6e8ea343b1e"。如何设置“id”以使其不显示双引号?
谢谢。
【问题讨论】:
-
ID是字符串,为什么不带引号呢?
-
是字符串? KeyType 是 HASH。它是一个字符串,因为 uuidv4() 返回一个字符串吗?那么我们如何将 UUID 作为哈希添加到主键字段?
-
键类型和数据类型不是一回事。 “密钥类型”是什么类型的密钥:它是 HASH 密钥,而不是 RANGE 密钥。这些是关键类型。 “数据类型”可以是 DynamoDB 支持的任何您喜欢的类型(字符串、数字或二进制)。在你的情况下,它是一个字符串。
标签: javascript node.js amazon-web-services amazon-dynamodb