我正在编写使用.NET SDK处理DynamoDb的基本CRUD操作。 在开发更新操作的过程中,我面临的问题是,如果当前不存在,DynamoDb会在我的表中插入一个新项目。
在UpdateItem操作中是否有任何平滑(或任何)方式指定不向表中添加新项(如果它尚不存在)? (没有抛出任何例外) 或者我应该编写IsExist()方法并在更新之前调用它吗?
var table = Table.LoadTable(Client, "users");
var doc = new Document();
doc["id"] = id;
doc["name"] = "John";
table.UpdateItem(doc, id);
感谢。
答案 0 :(得分:0)
您可以进行条件写入(http://docs.aws.amazon.com/amazondynamodb/latest/developerguide/WorkingWithItems.html#WorkingWithItems.ConditionalUpdate),但这取决于您的表格设置方式是什么?您可以使用条件写入来检查是否存在其他值,因为该行不存在,所以它不应该存在。但是,我不确定这是如何工作的,因为我从来没有尝试过对不存在的行进行条件写入。除此之外,除了在进行更新之前进行查询以查看它是否存在之外我不确定是否有任何其他方法可以执行此操作,如果不存在则不进行更新。