DynamoDB | Как добавить логическое значение к существующему объекту - PullRequest
0 голосов
/ 01 ноября 2018

Я пытаюсь ADD логическое значение для существующего документа DyanmoDB. Я использую DocumentClient (JS SDK).

Пожалуйста, рассмотрите следующий код:

let _documentClient = new AWS.DynamoDB.DocumentClient();
let updateExpression = {
          TableName: 'some_table',
          Key: {'project_id': 1234},
          UpdateExpression: 'ADD #completed :completed',
          ExpressionAttributeNames : {
            '#completed' : 'completed'
          },
          ExpressionAttributeValues: {
            ':completed': false /* changing to non-boolean value works */
          }
        };
 _documentClient.update(updateExpression, (err, params) => {
    if (err) {
        console.log(err);
        return
    }
    console.log('done deal');
 });

Выполнение кода выше приводит к следующей ошибке:

Incorrect operand type for operator or function; operator: ADD, operand type: BOOLEAN

Изменение :completed на равное не булевому значению работает.

Вопрос: Как добавить логическое значение к существующему объекту с помощью DocumentClient?

1 Ответ

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

Используйте действие SET вместо ADD , как в: SET #completed = :completed.

Действие ADD поддерживает только номера и устанавливает типы данных.

См. Обновление выражений для получения более подробной информации и примеров.

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