条件更新嵌套对象上的Dynamodb

时间:2017-01-26 15:25:55

标签: c# amazon-web-services amazon-dynamodb

我正在尝试学习使用C#使用DynamoDB 我有部分更新,放置,删除工作。 条件更新有效(如果属性是根对象的一部分)。

我创建了以下模型。

enter image description here

具有很多属性的人。 以下作品:

Expression expr = new Expression();
expr.ExpressionStatement = "Age = :age";
expr.ExpressionAttributeValues[":age"] = 26;

UpdateItemOperationConfig config = new UpdateItemOperationConfig
{
    ConditionalExpression = expr,
    ReturnValues = ReturnValues.AllNewAttributes
};

Document updatedPerson2 = personCatalog.UpdateItem(doc, config);

但如果我的病情是在宠物名字上呢? 我尝试了几种没有运气的方法,例如:

expr.ExpressionStatement = "Pet.Name = :name";
expr.ExpressionAttributeValues[":name"] = "Lilleper";

希望有人可以提供帮助:)或者只是朝着正确的方向推动我。

1 个答案:

答案 0 :(得分:2)

尝试将Name子属性名称外部化为ExpressionAttributeNames。

Expression expr = new Expression();
expr.ExpressionStatement = "Pet.#name = :name";
expr.ExpressionAttributeNames["#name"] = "Name";
expr.ExpressionAttributeValues[":name"] = "Lilleper";