如何过滤NULL?

hen*_*dry 7 amazon-web-services amazon-dynamodb

"order (S)","method (NULL)","time (L)"
"/1553695740/Bar","true","[  { ""N"" : ""1556593200"" },  { ""N"" : ""1556859600"" }]"
"/1556439461/adasd","true","[  { ""N"" : ""1556593200"" },  { ""N"" : ""1556679600"" }]"
"/1556516482/Foobar","cheque","[  { ""N"" : ""1556766000"" }]"
Run Code Online (Sandbox Code Playgroud)

如何在空“方法”属性值上扫描或查询该问题?https://s.natalian.org/2019-04-29/null.mp4

Mik*_*scu 3

我很确定没有办法使用控制台进行过滤。但我猜你真正想要的是在代码中使用这样的过滤器。

DynamoDB 有一种非常独特的存储 NULL 的方式。有一种“NULL”数据类型,它基本上代表空值的概念,但它实际上有点像布尔值。

如果您有机会将该属性的数据类型更改为字符串或数字,我强烈建议您这样做。然后,您将能够使用过滤条件创建更强大的查询来匹配您想要的内容。

如果数据已存在并且您没有大量需要更新的项目,我建议创建一个新属性来表示您的数据并回填。

只是跟进评论。如果您更喜欢使用映射器,则可以自定义它如何封送某些可能为 null/空的属性。查看 go sdk 编码器实现的一些示例:https://git.codingcafe.org/Mirrors/aws/aws-sdk-go/blob/9b5aaeba7a51edcf3f87bda525a08b04b90d2ef8/service/dynamodb/dynamodbattribute/encode.go