问题标签 [partiql]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
326 浏览

node.js - 使用 AWS 中包含的 PartiQL 对 MAP 或 JSON 数据集进行选择查询

我想使用 PartiQL 从 AWS DynamoDB 获取结果。我能够获取普通物品的数据。我正在使用此代码-

DynamoDB 结构 - item1(String type) -> 'some value' item1(Number type) -> 0 item3(MAP type) -> '{"accountName": "Dummy Name", "city": "Delhi", "info ":{"info1": "信息值"}'

我正在寻找包含“虚拟”文本的 accountName 值。

0 投票
1 回答
589 浏览

node.js - 带有 executeStatement 的 DynamoDB 参数化 PartiQL 查询

我对 nodejs 中的 aws sdk 进行了以下查询,并在 aws lamdba 中运行,使用参数数组时该查询不起作用:

使用参数直接内联的相同查询有效

这可能是'?'的语法 这是错误的,但我找不到任何具有其他语法的示例。

有谁知道如何编写语句以便它使用参数?

0 投票
1 回答
97 浏览

sql - 检查行是否包含 DynamoDB 中的嵌套项?

我正在尝试将 PartiQL 与 DynamoDB 一起使用来执行 SQL 查询,以检查设备是否处于非活动状态并包含错误。这是我正在使用的查询:

但是我注意到即使设备没有错误项,查询仍然会返回一行。如何查询仅包含错误项的设备?

有错误项

无错误项

0 投票
1 回答
241 浏览

amazon-web-services - 使用 PartiQL (DynamoDB) 在列表中选择某个地图元素

虽然我了解如何使用文档路径(例如 Devices.FireStick.DateWatched[0])在地图中选择列表项,但我无法弄清楚如何反过来做。说,我有一个包含地图列表的属性:

我想在我的 PartiQL 选择中获取第一行的左侧文本。我天真的方法:

没有成功。

0 投票
1 回答
64 浏览

mysql - 在实际查询数据之前,如何验证 SQL 谓词的输出是否与另一个 SQL 谓词的输出相交?

是否有任何已知的算法或库可以帮助确定 SQL 谓词是否包含在另一个 SQL 谓词中?

这些谓词将出现在此语句之后

例如,让我们看看这个谓词

我想检查该谓词是否包含在以下谓词中:

我试图弄清楚第二个谓词的输出是否有可能包含第一个谓词的输出。在查询实际数据之前需要此信息。

约束:

  1. 不允许嵌套谓词。
  2. 只允许使用以下运算符:AND OR NOT BETWEEN IN IS。
0 投票
1 回答
46 浏览

node.js - 是否会优化此使用索引的 SELECT QLDB 查询

我有一张带有一些索引和一些不同列的表。我正在运行此查询以获取用户数据的结果,而不是所有用户数据。

用户字段由定义UID 时间字段由TimeValue(我以数字形式输入时间,以便我可以比较它们)我想要的数据由Cause列定义

这是我的查询。此查询将执行表扫描还是仅搜索 UID 为给定行的那些行。

UID,TimeValue也是Cause索引

SELECT Cause, Cause_Amount, UID FROM Contribution WHERE UID = 'u5JvslEo9DbQ7hcq4vkM74dWlxr2' AND TimeValue > 1620414948000 AND ( Cause = 'cleanAir' OR Cause = 'safeWater')

0 投票
1 回答
143 浏览

node.js - Amazon qldb SELECT 查询以使用非常少的 READIo 搜索特定行

我有一个包含以下列的表格

UserID(索引)、SID(索引)、Cause(索引)、TimeValue(索引)、Amount

我想查询特定用户 id 的原因,这意味着我想要一些cause等于假设water但我只希望一个 id 为“someId”的用户

我现在的查询正在执行全表扫描

SELECT Cause, Cause_Amount, UserID FROM Contribution WHERE UserID = 'u5JvslEo9DbQ7hcq4vkM74dWlxr2' AND TimeValue > 1620414948000 AND ( Cause = 'cleanAir' OR Cause = 'safeWater')

所以方法应该是它应该以给定的 id 为目标 userId 然后检查 TimeValue 然后是原因并返回结果。

我希望这是有道理的

0 投票
1 回答
180 浏览

sql - QLDB 中的行数有限

从QLDB获取数据时,我需要有限的行数。不幸的是,QLDB 在其查询中不支持限制功能。但是,MySQL支持表中行数有限的特性。

但是,我在 QLDB中看到了保留词。这是链接:https ://docs.aws.amazon.com/qldb/latest/developerguide/ql-reference.reserved.html 在本文档中,这些保留字可以用在带双引号的带引号的标识符中(例如,“用户”)。

我的问题是:SELECT * FROM Balance "LIMIT" 3 仍然无法正常工作。请提供一些建议以从 QLDB 表中获取有限数量的行以用于分页目的。

0 投票
0 回答
209 浏览

typescript - 正确使用 PartiQL 和 AWS 开发工具包?

我有以下 lambda 函数

并且路径值基本上是带有正斜杠“/”的 URL

我收到此错误但无法弄清楚原因:

测试运行的 event.path 值为/test HITS_TABLE 是从 CDK 调用传递下来的。有任何想法吗?

更新

我已将 partiQL 语句更改为此,错误更改为不支持表名。

这是新的错误:

如果我直接在字符串中包含参数,它似乎修复了 PartiQl 问题:

PartiQl 和 AWS SDK v3 没有很好的例子,有什么想法吗?

更新

使用第二种方法,我得到以下错误

即使我已使用此方法授予表的读写权限:

我看过https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/ql-iam.html

我需要 lambda 拥有的权限列表是:

我是否必须创建自定义 IAM 策略才能添加这些?抱歉,总的来说,我对 AWS 很陌生。

更新

添加以下策略规则后,出现以下错误:

这是以下错误:

我认为这是因为更新调用没有找到任何行。

0 投票
1 回答
135 浏览

amazon-web-services - 如何为 AWS DynamoDB 中的新字段添加值?

我的团队在我们的 DynamoDB 中添加了一个新字段,我需要为当前不包含该字段的所有条目添加一个整数。

我试过在这里使用更新示例,但是我得到了一个ValidationException: Where clause does not contain a mandatory equality on all key attributes,因为我的WHERE子句不包含主键。但是,我不需要按主键过滤,因为我只关心没有新列值的条目。

我正在运行的查询是 PartiQL 是: