DynamoDB映射创建或更新(PHP)
我想知道是否有更好的方法: 我目前正在DynamoDB的地图中为唯一的对象设置key+值。我的做法如下:DynamoDB映射创建或更新(PHP),php,amazon-dynamodb,Php,Amazon Dynamodb,我想知道是否有更好的方法: 我目前正在DynamoDB的地图中为唯一的对象设置key+值。我的做法如下: 条件更新-如果属性\u不存在(映射\u名称)创建由键+值填充的新映射。(这是在条件检查失败异常的try/catch中,如果发生此异常,则返回false。) 如果我们没有创建映射(没有例外),请使用key+value更新映射:set map\u NAME.key=:value 我反对对逻辑流使用异常,但我不知道是否有其他方法在映射上创建或更新。请让我知道,或者如果我能以任何方式使这个问题更清楚
属性\u不存在(映射\u名称)
创建由键+值填充的新映射。(这是在条件检查失败异常的try/catch中,如果发生此异常,则返回false。)set map\u NAME.key=:value
谢谢大家! 查看您的特定示例会很有意思,但是您是否尝试调用“get”来查看该项是否存在
编辑:这取决于你想做什么,可能有很多不同的解决方案。DynamoDB在这方面不如MongoDB灵活,有时需要创造性的解决方案来解决简单的问题。我没有。我喜欢使用UpdateItem的部分原因是,如果该项不存在,它会设置该项。获取肯定会阻止异常,也许是以牺牲呼叫为代价?您的更新通常使用get+set模式吗?不太喜欢此解决方案,可能会导致竞争状况。您是否曾为此找到其他解决方案?我也遇到了同样的问题。现在,我考虑的解决方案是将映射中的属性更改为顶级属性,但我更愿意保持模式不变。