我正在使用R中库paws.database中函数dynamodb的操作query。
运行查询时:
response = svc$query(
ExpressionAttributeValues = list(
`:v1` = list(
S = "request-grant-generation"
)
),
TableName = table_name,
KeyConditionExpression = "dumpType = :v1"
)
字符串
这将返回一个5的列表。数据在Items元素中。
每条记录都有8个属性。每个属性返回所有可能的数据类型,并且在正确的数据类型中只有**数据。下面是一个例子,其中第一条记录在项目中,第一个属性(版本)。
> response$Items[[1]]$version
$S
[1] "1"
$N
character(0)
$B
character(0)
$SS
list()
$NS
list()
$BS
list()
$M
list()
$L
list()
$`NULL`
logical(0)
$BOOL
logical(0)
型
有没有办法告诉paws.database或dynamodb不要返回所有可能的类型,而是返回数据库中的类型?因为否则我需要解析响应并删除所有不适用的值类型,并保留其中有值的类型。
1条答案
按热度按时间n7taea2i1#
找到一个解析列表的解决方案。
使用rlist库解决起来非常简单,文档为here
解决所示示例的代码行为:
字符串
希望有人发现它有用。
我的数据库没有空记录。如果你有一个需要保留的空属性的数据库,你应该修改函数中的比较或引用一个更专门的比较。
这是一个干净的框架:
型