2013-06-20 20 views
0

我正在尝试使用php SDK2做一个条件updateItem调用,但无法确定如何检查字符串集合中只有一个值。updateItem'Expected'检查字符串集合中的一个值

对于Exmple:我有一个字符串在dynamoDB设置:{ “A”, “B”, “C”}

我想要做的updatedItem调用,并删除这些值中的一个,但如果该值不存在,则会出错。所以,如果我试图从上面的集合中删除“d”,我想让dynamoDB抛出一个错误,而不是默默地忽略“d”在我的字符串集合中不存在的事实。

我已经试过:

'Expected' => array(
     myAttribute => array(
      'Exists' => true, 
      'Value' => array(Type::STRING_SET => array("d")) 
     ) 
    ) 

此操作失败,但是,即使值,例如, “一”。我认为原因在于dynamoDB认为我想让它验证整个集合,而不仅仅是一个值。

有没有办法做一个条件放置和验证集合内的单个值?

我可以做一个getItem调用,将字符串设置为一个数组,并执行我自己的检查,但如果可能,我希望在一次调用中完成所有操作。

在此先感谢

回答

1

望着UpdateItem似乎表明,DynamoDB着眼于价值作为一个整体,并基于一组内的值,你不能有一个条件。

如果您想确定是否可以做到这一点,或者您想为其提出功能请求,我会发布official DynamoDB forum

+0

是的,在做了更多的测试和挖掘之后,我得出了同样的结论。谢谢, – SjB

相关问题