Как сделать обновление во вложенной карте DynamoDb - PullRequest
1 голос
/ 03 апреля 2019

У меня есть таблица DDB с именем cart, и мой столбец заказа имеет следующий формат

"order": {
    "PRD_SHOES_048": {
      "price": "40.99",
      "productId": "PRD_SHOES_048",
      "quantity": "1"
    }
  }

Когда я пытаюсь добавить новые позиции в заказ, существующее значение обновляется, и только новое значение будеттам в таблице.Мне нужно, чтобы столбец выглядел примерно так

"order": {
    "PRD_SHOES_048": {
      "price": "40.99",
      "productId": "PRD_SHOES_048",
      "quantity": "1"
    },
 "PRD_TOP_047": {
      "price": "40.99",
      "productId": "PRD_TOP_047",
      "quantity": "1"
    }
  }

Я использую лямбда-функцию, написанную в узле js.

1 Ответ

0 голосов
/ 03 апреля 2019

Вы должны добавить атрибут items к вашему JSON.Как сейчас, очень сложно отследить все предметы.Ваш объект заказа должен выглядеть следующим образом:

{
    "order": {
        "items": [
            {
                "id": "PRD_SHOES_048",
                "price": "40.99",
                "productId": "PRD_SHOES_048",
                "quantity": "1"
            },
            {
                "id": "PRD_TOP_047",
                "price": "40.99",
                "productId": "PRD_TOP_047",
                "quantity": "1"
            }
        ]
    }
}

Теперь вы можете легко добавить новый элемент в ваш заказ.Просто получите заказ и нажмите на новый предмет, как это:

order.items.push(myNewItem)
// save in DynamoDB...
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...