Date: 2020년 11월 4일
List로 되어있는 Attribute에서 특정 인덱스의 객체만 수정/삭제 혹은 추가하는 방법.
기본적으로는 updateItem
API를 사용하고, UpdateExpression
을 좀 더 상세하게 쓰면 된다.
-
목록의 특정 객체 업데이트
module.exports.update = (event, context, callback) => { const data = JSON.parse(event.body) const idx = event.pathParameters.photoIndex const params = { TableName: 'feed', Key: { user: event.pathParameters.user, date: event.pathParameters.date }, ExpressionAttributeNames: { '#comment': 'comment' }, ExpressionAttributeValues: { ':tags': dynamoDB.createSet(data['tags']), ':comment': data['comment'], }, UpdateExpression: `SET photos[${idx}].tags = :tags, photos[${idx}].#comment = :comment` } dynamoDb.update(params, (error, result) => {}) }
-
목록에서 객체 삭제
module.exports.update = (event, context, callback) => { const data = JSON.parse(event.body) const idx = event.pathParameters.photoIndex const params = { TableName: 'feed', Key: { user: event.pathParameters.user, date: event.pathParameters.date }, UpdateExpression: `REMOVE photos[${idx}]` } dynamoDb.update(params, (error, result) => {}) }
그리고... 로직이 바뀌어서 lambda로 사진 파일 여러 개를 받아서 이걸 분류해야 하게 되었는데 사진 여러 개 받기를 어떻게 해야 할지 정말 모르겠다 ㅜㅁ ㅜ
serverless framework에서 node.js로 하고 있어서
node.js의 레퍼런스들을 찾는 중인데
어떻게 어떻게 찾은 거 같은데
serverless에서 multipart/form-data
를 지원하지 않는 건지...? 왜 Content-Type
에 저거 넣으면 안되는 건지...? 헝엉엉