0

我要存储的数据属性是 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));
      }
  });

我只需要在线程类型的结果中显示实时聊天,因为在此插入中我需要实时聊天

4

1 回答 1

1

看起来您将 threadType 建模为 StringSet,这意味着它可以包含多个值。如果您只想存储“livechat”,那么只需将此值存储为字符串。DynamoDB 没有服务器端验证的概念,也没有对 Enums 的支持,尽管一些 SDK 有 - 在 node.js 中没有 Enum 类型。至于系统时间,没有办法要求DynamoDB为你插入系统时间。大多数人会将纪元秒或毫秒作为数字类型插入以进行排序,并且基于客户端的时间戳,它应该使用 NTP 并且当托管在 EC2 中时将超级接近 DDB 队列时间戳。

于 2018-11-28T15:31:11.743 回答