我要存储的数据属性是threadId,threadType(sms,livechat,fb),createat和updateat我如何定义threadType我遵循此过程,但输出显示了所有threadType类型?
以及如何确定时间?这是手动输入,有什么方法可以获取系统时间?
var doClient = new AWS.DynamoDB.DocumentClient();
var DynamoDB = new AWS.DynamoDB({});
var table = "thread";
var threadId = "3";
var threadType = "livechat";
var createDate = "11:38";
var updateDate = "12:00";
var channelName = "three";
var params = {
TableName : table,
Item:
{
"threadId" : threadId,
"threadType" : { "SS": ["sms", "livechat" ,"fb"] },
"createDate" : { 'S' : createDate },
"updateDate" : { 'S' : updateDate },
"channelName" :{'S' : channelName }
}
};
console.log("Adding a new item...");
doClient.put(params, function(err, data) {
if (err) {
console.error("Unable to add item. Error JSON:", JSON.stringify(err, null, 2));
} else {
console.log("Added item:", JSON.stringify(data, null, 2));
}
});
我只需要在线程类型的结果中显示实时聊天,因为在此插入中,我需要实时聊天
答案 0 :(得分:1)
看起来您正在将threadType建模为StringSet,这意味着它可以包含多个值。如果您只想存储“ livechat”,则只需将此值存储为字符串即可。 DynamoDB没有服务器端验证或对Enums的支持的概念,尽管有些SDK可以做到-在node.js中没有Enum类型。至于系统时间,无法要求DynamoDB为您插入系统时间。大多数人会插入纪元秒或毫秒作为Number类型以进行排序,并基于客户端的时间戳(应使用NTP),并且在EC2内托管时,它将超级接近DDB队列时间戳。