[英]add object to map in dynamo db
我试图在发电机数据库中向现有的 MAP object 添加一个元素,但是由于某种原因,当我运行它时,我添加了一个新列。 这个查询有什么问题? 我的表结构是:
topic questions
----- ----------
Dynamo { "what is Dynamo?" : { "S" : "x" } }
代码:
var params = {
TableName: TABLE_NAME,
Key: { topic: topic },
UpdateExpression: "ADD #qq = :ans",
ExpressionAttributeNames: {
"#qq": qq,
},
ExpressionAttributeValues: {
":ans": { S: ans },
},
};
let res = await docClient.update(params).promise();
ADD用于数字和设置,不适用于 MAP。
要将 append 元素转换为 MAP,我们需要使用SET 。
const TABLE_NAME = "test";
const topic = "Dynamo";
const qq = "what is Dynamo?";
const answer = "its a nosql database";
docClient.update(
{
TableName: TABLE_NAME,
Key: {
topic: topic,
},
UpdateExpression: "set questions.#qq = :answer",
ExpressionAttributeValues: {
":answer": answer,
},
ExpressionAttributeNames: {
"#qq": qq,
},
},
function (error, result) {
console.log("error", error, "result", result);
}
);
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.