python - DynamoDB 按嵌套数组查询
问题描述
我在 DynamoDB 中有一个 Companies 表,如下所示:
company: {
id: "11",
name: "test",
jobs: [
{
"name": "painter",
"id": 3
},
{
"name": "gardner"
"id": 2
}
]
}
我想做一个扫描查询,让所有在他们的工作数组中拥有“画家”工作的公司
我正在使用 python 和 boto3
我尝试过这样的事情,但没有奏效
jobs = ["painter"]
response = self.table.scan(
FilterExpression=Attr('jobs.name').is_in(jobs)
)
请帮忙。谢谢。
解决方案
看起来这通常可能不可行,但是该链接中应用的方法可能仍然有用。如果您知道所有数据的作业数组的最大长度,则可以为每个用 OR 链接的索引创建一个表达式。值得注意的是,我找不到处理地图和列表扫描表达式的文档,所以我真的不能说你是否还需要检查你是否越界。
推荐阅读
- quickfixn - 在 QuickFIXn NewOrderSingle() 中设置用户定义字段
- html - HTML表格作为背景?
- c++ - 如何让我的代码在读取字符串或字母时显示错误
- c++ - C++ 对超出范围的局部变量的引用
- laravel - PHP Mess Detector 避免使用静态访问
- django - 使用 django 频道的 heroku 的正确 procfile / 要求是什么?
- javascript - 使用 javascript 循环遍历 json-Array
- acumatica - 通用查询上的多选字段
- javascript - 从数组数组中的数组中获取元素的值
- amazon-web-services - 如何跟踪从 Amazon SES 中的每个域发送了多少邮件