gpt4 book ai didi

javascript - 如何通过所述列表中的 map 属性值从 DynamoDB map 列表中删除?

转载 作者:IT老高 更新时间:2023-10-28 23:17:36 26 4
gpt4 key购买 nike

我有以下列表示例:

{
"favorites": [
{
"createdAt": 1448998673852,
"entityId": "558da3de395b1aee2d6b7d2b",
"type": "media"
},
{
"createdAt": 1448998789252,
"entityId": "558da3de395b1aee2d6b7d83",
"type": "media"
},
{
"createdAt": 1448998793729,
"entityId": "558da3de395b1aee2d6b7d99",
"type": "media"
},
{
"createdAt": 1448998813023,
"entityId": "558da3de395b1aee2d6b7daf",
"type": "media"
}
],
"userId": "2"
}

我想删除 map :"entityId": "558da3de395b1aee2d6b7d2b"

我正在考虑一个 UpdateItem 查询,我查看了 REMOVE 表达式文档 (http://docs.aws.amazon.com/amazondynamodb/latest/developerguide/Expressions.Modifying.html),但除了按索引值从列表中删除项目之外,我似乎看不到任何示例......

最佳答案

我已经遇到过几次这个问题,不幸的是没有直接的解决方案。我遇到的两种最常见的解决方法是:

A.使用 map 而不是列表,您现在可以使用 #favorites.#entityId 在更新表达式中直接引用收藏夹。如果 order 很重要,请为每个 map 添加 order 属性。在您的数据访问层中,您需要在所需的数组类型之间进行转换。

{
"userId": "2",
"favorites": {
"558da3de395b1aee2d6b7d2b": {
"createdAt": 1448998673852,
"entityId": "558da3de395b1aee2d6b7d2b",
"type": "media",
},
// ... more entities here
}
}

B.请改用一对多表,见 http://docs.aws.amazon.com/amazondynamodb/latest/developerguide/GuidelinesForItems.html

关于javascript - 如何通过所述列表中的 map 属性值从 DynamoDB map 列表中删除?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34051638/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com