我有一个数据库中的元素列表,如下所示:
User
---inventory(Map)
------items(List)
---------item0(Map)
---------item1(Map)
---------item2(Map)
我想根据商品特征(例如item.id
)
如何使用条件表达式执行此操作?根据我的阅读,您只能使用列表索引删除列表元素:
REMOVE MyNumbers[1], MyNumbers[3]
如何使用UpdateExpression / ConditionExpression执行此操作?
答案 0 :(得分:2)
我相信ConditionExpression仅用于决定是否运行/跳过整个更新命令。
在您的情况下,您可能需要执行getItem来搜索remove target的索引并在updateItem上按索引删除列表项。
您还可以考虑将列表更改为地图,并使用项目ID作为密钥。
{
inventory: {
items :{
1 : { name : item1...},
2 : { name : item1...},
}
}
}
这样您就可以使用一个db update命令删除记录。
remove inventory.items.1