我正在尝试使用 php SDK2 进行有条件的 updateItem 调用,但无法弄清楚如何仅检查字符串集中的单个值。
例如:我在 dynamoDB 中设置了一个字符串:
{"a","b","c"}
我想做一个 updatedItem 调用,并删除其中一个值,但如果该值不存在,则会出错。所以,如果我试图从上面的集合中删除“d”,我希望 dynamoDB 抛出一个错误,而不仅仅是默默地忽略“d”在我的字符串集中不存在的事实。
我试过了:
'Expected' => array(
myAttribute => array(
'Exists' => true,
'Value' => array(Type::STRING_SET => array("d"))
)
)
但是,即使该值是例如“a”,这也会失败。我认为原因是 dynamoDB 认为我希望它验证整个集合,而不仅仅是其中的一个值。
有没有办法进行条件放置并仅验证集合中的单个值?
我可以进行 getItem 调用,将字符串设置为数组并进行自己的检查,但如果可能的话,我希望在一次调用中完成所有操作。
提前致谢