пункт существует не работает над ожидаемым свойством динамод - PullRequest
0 голосов
/ 04 апреля 2019

Я хочу сделать условную вставку, используя условие Exists для свойства Expected DocumentClient SDK для nodejs

У меня есть следующая функция, которая вставляет в таблицу динамодба и задает условия, предотвращающиедубликаты

function async save(model) {
    const params = {
        TableName: 'table-name',
        Item: model,
        Expected: {
            parentId: { Exists: false },
            companyLegalId: { Exists: false },
            agentLegalId: { Exists: false }
        }
    };
    return await dynamoDB.put(params).promise();
}

И я вызываю эту функцию так:

const model = {
    parentId: 'c0f91177-ea46-4aae-9dba-a00dfe948fe5',
    objectId: 1,
    agentId: '123456789-0',
    companyLegalId: '987654321-K'
};
const model2 = {
    parentId: 'c0f91177-ea46-4aae-9dba-a00dfe948fe5',
    objectId: 2,
    agentId: '123456789-0',
    companyLegalId: '987654321-K'
};
await save(model);
await save(model2);

В этой таблице есть HashKey = parentId и RangeKey = objectId.То, как оба объекта имеют разные RangeKey, это допустимая операция для DynamoDB.Но я ожидаю, что условие «ожидаю» проверяет наличие «того же» элемента и выдает ошибку, но этого не происходит.

Что я делаю не так?

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