你好 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/