我正在使用JSON結構來存儲某個人的詳細信息。基本上名稱,電話,registeredTimestamp等,將是其他屬性,主鍵將是電子郵件地址。使用NodeJS將新對象追加到DynamoDB中的JSON數組中
markedLocations,visitedLocations,searchHistory和recommendation是AWS調用它時的列表或Map。它將包含許多JSON對象。
JSON結構 -
{
"name":"Mama Miya",
"phone":"9383883223",
"registeredTimestamp":"some-time",
"lastActiveTimestamp":"some-time",
"signinType":"facebook",
"additionalSigninData":{
"key1":"value1",
"key2":"value2"
},
"markedLocations":[
{
"latitude":"77.33",
"longitude":"12.33",
"name":"Home",
"description":"my new home",
"placeid":"55334433",
"image":"url/abc.png"
}
]
}
從應用程序,如果用戶訪問一個新的位置,我需要一個新的JSON對象添加到markedLocations。 所以markedLocations看起來應該是喜歡 -
"markedLocations":[
{
"latitude":"77.33",
"longitude":"12.33",
"name":"Home",
"description":"my new home",
"placeid":"55334433",
"image":"url/abc.png"
},{
"latitude":"22.11",
"longitude":"22.55",
"name":"Ocean",
"description":"Ocean",
"placeid":"32423423",
"image":"url/icean.png"
}
]
代碼/ Schema-
var item = {
'email': {'S': req.body.email},
'phone': {'S': req.body.phone},
'registeredTimestamp': {'S': req.body.registeredTimestamp},
'lastActiveTimestamp': {'S': req.body.lastActiveTimestamp},
'signinType': {'S': req.body.signinType},
'version': {'S': req.body.version},
'markedLocations': {'L': req.body.markedLocations}
};
我查 -
在DynamoDB我怎麼使用元素添加到列表場Java link
正在更新一個JSON數組中的AWS dynamoDB
更新一組DB迪納摩使用節點的js link
如何更新使用的NodeJS dynamoDB項目? link
並檢查了AWS文檔UpdateItem API。我沒有發現任何與我的問題/疑問有關的事情。
請你能告訴我是否有方法可以在NodeJS中添加一個新的JSON對象的JSON數組?我不能繼續如何實施。
OR
我應該建立單獨的表爲每個陣列和具有電子郵件作爲主鍵和時間戳作爲排序鍵和前進? PS:我是DynamoDB的新手,我之前和MongoDB一起工作過,並且有辦法在那裏使用JSON數組和對象。無法在此找到方法。
你知道如何做到這一點的Javascript?這就是你如何去做的。 Node.JS使用Javascript。 –
@RobertHarvey號我不知道如何解決JS中的這個問題。整個AWS文檔都有使用Java,PHP和.Net的示例和API演示。我不確定要使用什麼API或如何構建代碼。我列出的StackOverflow問題根本沒有答案,或者主要是替換現有的值。我需要追加到現有的數組。 – bozzmob
這聽起來像你正在試圖找到一個API或庫的地方爲一個簡單的操作,應該很容易在Javascript中完成。看看[這篇文章](http://stackoverflow.com/questions/4538269),特別是[這個答案](http://stackoverflow.com/a/4538314/102937)。你不需要NodeJS,Dynamo或其他任何東西來實現這一點。請注意,該帖子的作者犯了同樣的錯誤; *你不需要jQuery來做這件事。* –