2

考虑到事务能力,documentDB 与 dynamo DB 相比有多好?

以下是使用 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();

是否可以使用 DocumentDB 执行相同的逻辑?我发现不可能在 AWS documentDB 中进行多语句事务。

4

1 回答 1

2

DocumentDB 不支持事务,事务在 4.0 版本中被引入 mongoDB。DocumentDB 仅支持 mongo 3.6 版。

云中 mongo 版本中的 Atals,https://www.mongodb.com/cloud/atlas

支持具有事务的较新版本的 mongo。

于 2020-01-16T18:21:38.180 回答