Транзакции в AWS БД документов - PullRequest
1 голос
/ 13 января 2020

Насколько хорошо documentDB по сравнению с динамо-базой данных, учитывая возможности транзакций?

Ниже приведен пример операции транзакции, выполненной с использованием DynamoDB.

const transactionResponse = await docClient.transactWrite({
            TransactItems: [
                {
                    Put: {
                        TableName: Table1,
                        Item: {
                            id,
                            userId,
                            anotherID,
                            createdAt: (new Date()).toISOString()
                        }
                    }
                },
                {
                    Update: {
                        TableName: Table2,
                        Key: {anotherID},
                        UpdateExpression: `set available = available - :val, count = count + :val, lastUpdatedDate = :updatedAt`,
                        ExpressionAttributeValues: {
                            ":val": 1,
                            ":updatedAt": (new Date()).toISOString(),
                        }
                    }
                }
            ]

        }).promise();

Можно ли сделать такую ​​же логику c с DocumentDB? Я обнаружил , что , невозможно выполнить транзакцию с несколькими операторами в AWS documentDB.

1 Ответ

1 голос
/ 16 января 2020

DocumentDB не поддерживает транзакции, транзакции были введены в mongoDB в версии 4.0. DocumentDB поддерживает только mon go версии 3.6.

Atals в mon go версии в облаке, https://www.mongodb.com/cloud/atlas.

, который поддерживает более новые версии mon go, в которых есть транзакции.

...