我正在制作一些lambda来从dynamoDB表中获取数据。
DynamoDB表具有
如果我理解正确,
我可以使用setId来查询,因为DynamoDb通过分区键进行集合。
所以我尝试了这个参数。
const params = {
TableName: MY_TABLE_NAME,
KeyConditionExpression: `#setId = :setId AND #type = :type `,
ExpressionAttributeNames: { "#setId": "setId", "#type": "type" },
ExpressionAttributeValues: {
":setId": { S: "set_1" },
":type": { S: "type A" },
},
}
但它返回错误
ValidationException: Query condition missed key schema element: id
Q.
提前谢谢!
仅供参考)我也尝试了GSI和下面的工作,因为我的预期。.
const params = {
TableName: MY_TABLE_NAME,
IndexName: "blahblah",
KeyConditionExpression: `#type = :type`,
FilterExpression: `#setId = :setId`,
ExpressionAttributeNames: { "#setId": "setId", "#type": "type" },
ExpressionAttributeValues: {
":setId": { S: "set_1" },
":type": { S: "type A" },
},
}
您向我们显示了请求参数,但没有显示您正在执行的请求。DynamoDB有两个与您的情况相关的不同读取请求-GetItem
和Query
:
GetItem
,只能获取单个项目,并且单个项目由其完整主键指定(在您的情况下,setId和id)。不能使用GetItem
,只能指定主键的一部分。如果你这样做了,你会看到一个类似于你看到的错误。Query
,可能是您想要使用的请求。它可以获取具有相同分区键(setId)的所有项,并按排序键(id)进行排序,并且您不需要在查询中指定特定的排序键。请阅读留档如何使用Query
,并注意结果是分页的(理论上,一个查询可能返回数百万个项目,但不能在一个页面中完成)。请求中的另一个问题(可能就是您看到的问题?)是您试图在KeyConditionExpression
中使用#type=:type
。您不能这样做——正如它的名字所说,键条件只是主键的条件——而类型不是(除非您查询的是GSI)。您应该将此条件放入过滤器表达式
,而不是KeyConditionExpression
。
问题内容: 有没有一种方法可以检查nodestore的firestore中是否存在子集合? 目前,我正在使用文档,但是我需要检查文档中是否存在子类以便写入一些数据。 问题答案: 就在这里。您可以使用docs.length来知道子集合是否存在。 我制作了一个样本来指导您,希望对您有所帮助。
基本上,我有一组顶点ID,我想遍历并从某些外边找到一组顶点。我想把外边后面的顶点与它来自的准确性联系起来。例如:,所以v1有2个输出边(e1和e2)到v2和v4,而v3有2个输出边(e3和e4)到v5和v6。我想要的是得到如下所示的遍历结果 有人能帮我使用Gremlin遍历吗?最接近的例子是
我有一个名为“Prices”的MongoDB集合,我试图查询“startDate”和“endDate”之间的价格。 该集合每10秒存储一次价格,但是当查询此集合以绘制图形时,每1-2分钟的价格才是真正重要的。 我尝试用两种不同的方式编写此查询: 方法1:使用{$gte:startDate,$lte:endDate} 此方法引发以下错误: 如果删除排序('-timestamp')行,并再次运行此查询
我想我读到您可以使用新的Firebase Firestore查询子集合,但我没有看到任何示例。例如,我以以下方式设置了Firestore: 舞蹈[收藏] DanceName 歌曲[收藏] 松南 我如何才能查询“查找所有的舞蹈在songName=='x'”
问题内容: 我要实现以下功能: 如何检查向量元素类型? 请注意, 向量可能为空,因此我无法检查第一个元素是“ instanceof”整数还是String … 编辑: 好吧,我脑子里有个念头,我不知道它是否会起作用 我可以按以下方式实现checkType函数: 是否可以检查T是否为整数?! 提前致谢 问题答案: *由于 类型擦除, *泛型类型参数 在运行时不可恢复(某些特殊情况除外)。这意味着在运行
问题内容: 我是Node.js和Heroku的新手,我构建了一个使用node.js并从mongodb实例检索一些数据的小应用程序。我设置了整个程序,但是我的问题是我认为mongodb的语法很简单。 我需要在启动应用程序时知道我的收藏夹中是否包含任何东西,如果没有,则不进行初始化。我尝试调用collection.count(),但返回未定义。 我尝试这样做 任何帮助表示赞赏。 问题答案: 任何访问数