amazon-web-services - DynamoDB 表建模。软删除解决方案

标签 amazon-web-services database-design amazon-dynamodb

你好 stackoverflow 社区。 我正在尝试为 dynamodb 组织软删除解决方案。

如果您遇到同样的问题并找到任何解决方案,请在评论中分享。

它涉及思考: 列出项目(isDeleted:false 或 0),并使用结果限制。

最佳答案

我们需要创建 RANGE 索引,例如 Number 包含任何数据 (0/1)。

在我的例子中,它是 "isActive = 1" 表示未删除的项目。

然后我们使用该 IndexName 进行查询或扫描。

为了软删除项,我们需要删除属性"isActive"

DynamoDB Scan and Query with Index

Official Best Practice: Take Advantage of Sparse Indexes - 描述了我们的案例。

为了删除属性使用这个例子:

const params = {
      TableName: this.TABLE,
      Key: {
        _id: id
      },
      UpdateExpression: 'REMOVE isActive',
      ReturnValues: 'ALL_NEW'
    }
    return dynamodb.update(params).promise()
      .then((data) => {
        if (data) {
          return data.Attributes
        }
        return null
      })

关于amazon-web-services - DynamoDB 表建模。软删除解决方案,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47549676/

相关文章:

amazon-web-services - 在 UserData 中实现 If 函数

linux - ubuntu Linux 中 ejabberd 的 AWS 自定义 TCP 端口访问?

ios swift AWS cognito 和 Facebook 身份验证

mysql - 空字段是否占用数据库空间?

php - mysql。所有实体的所有属性 1 个表或每个实体 1 个表

amazon-web-services - CloudFormation 中的条件 Dynamo 全局表

javascript - 在 DynamoDB 中搜索表失败时如何回调错误消息

python - 从 aws-lambda 导入 pysftp 时如何修复导入错误 "No module named ' _cffi_backend' "

database - 数据库设计:解释此架构

amazon-web-services - 使用 DynamoDB 的 Terraform 状态锁定