Как определить типы атрибутов в Dynamodb? - PullRequest
0 голосов
/ 27 ноября 2018

Я хочу сохранить атрибуты данных: 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));
      }
  });

Мне нужен только показ livechat в результате типа потока, потому что в этой вставке мне нужен livechat

1 Ответ

0 голосов
/ 28 ноября 2018

Похоже, вы моделируете threadType как StringSet, что означает, что он может содержать несколько значений.Если вы просто хотите сохранить 'livechat', просто сохраните это значение в виде строки.DynamoDB не имеет концепции проверки на стороне сервера или поддержки Enums, хотя некоторые SDK делают - в node.js нет типа Enum.Что касается системного времени, нет способа попросить DynamoDB ввести системное время для вас.Большинство людей вставляют эпоху секунд или миллисекунд в качестве числового типа для целей сортировки и на основе временной метки клиента, которая должна использовать NTP, а при размещении в EC2 будет супер очень близка к временной отметке флота DDB.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...