2017-10-21 59 views
0

項目我有以下JSON格式的請求:保存JSON請求在dynamoDb

{ 
"profile": { 
      "created": 1505202655, 
      "createdBy": "abc", 
      "updated": 1505202655, 
      "updatedBy": "xyz" 
      }, 
"likesId": [ 
      "0010127916" 
      ], 
"icon": null, 
"Attributes": { 
       "backgroundColor": "#FFFFFF", 
       "logo": "images/Logos/P0010127916.jpg", 
       "textColor": "#000000" 
       }, 
"profileId": "PACYG0010916", 
"restrictions": { 
       "clients": [ 
          "Android", 
          "SmartTv" 
          ], 
       "UserTypes": [ 
           "user1", 
           "user2" 
          ], 
       "periodEnd": 1512978849, 
       "periodStart": 1505202849 
       }, 

} 

我試圖挽救上述JSON請求對象使用putItem的dynamoDb表。但是我卡在一些問題,這些問題如下:

  1. 我可以將這個整體JSON請求原樣(不進行轉義雙引號)項的dynamodb表的形式?
  2. 在likesId的情況和屬性我他們分別存儲爲一個列表和地圖與.withList和.withMap方法的幫助,但在個人資料的情況下,我把它拿走了作爲有4個狀態的POJO,我怎麼能保存此對象和putItem因爲我沒有找到保存這樣的對象的任何方法,因爲我們有一個字符串,數字和其他數據類型的方法,我怎麼能挽救我自己的對象?

任何一種指導,將不勝感激,因爲我是新來dynamoDb並做POC學習它。

回答

-1

你應該能夠與DocumentClient類很容易保存:

http://docs.aws.amazon.com/AWSJavaScriptSDK/latest/AWS/DynamoDB/DocumentClient.html#put-property

var params = { 
    TableName : 'Table', 
    Item: item 
}; 

var documentClient = new AWS.DynamoDB.DocumentClient(); 

documentClient.put(params, function(err, data) { 
    if (err) console.log(err); 
    else console.log(data); 
}); 

哪裏item是對象從原來的問題

+0

什麼,我想請教的是下var params,在Item屬性中如何提供我自己創建的數據類型,即我自己的類而不是預定義的數據類型。 –

+0

你不能真的 - 在一定程度上DynamoDB是無模式。它確實沒有上課的概念。你必須將它保存爲一個地圖 – user184994

+0

好的,但把它作爲一個地圖有一個問題,我的個人資料的屬性,地圖將有2種類型的值,字符串和長。所以我不喜歡Map,比如Map 對象沒有被dynamoDb標識 –