0
我使用拉姆达(的NodeJS 4.3)来查询我有以下DynamoDB:查询迪纳摩 - 错过了关键
var params = {
TableName : "shoes",
KeyConditionExpression: "gender = :gender AND support = :support AND terrain = :terrain",
ExpressionAttributeValues: {
":input": inputGender,
":input": inputSupport,
":input": inputTerrain
}
}
在运行此我得到的是我丢失的错误“查询条件错过了关键架构元素:Id“。这可能只是我的一个基本误解,但如果我想查询DynamoDB中的两个或更多字段,是否需要将它们设置为键或在所有字段上创建索引?
在此先感谢。
这可能是我对Dynamo(第一次定时器)的根本误解,但我基本上有一个用户选择3个字段,然后想要查询Dynamo的结果。分区键现在是一个ID,用户永远不会知道这一点来查询它。这在传统SQL中显然非常简单,因为“SELECT * FROM Tbl WHERE row1 = X OR row2 = Y OR row3 = Z”类型的东西。将这种思想转化为迪纳摩的任何指导? – jeremykrall
当我运行它现在我得到“条件只能是1或2的长度”,“ – jeremykrall
不知道还有什么要告诉你。你读过我的答案吗?你肯定有一个基本的误解,如何执行这种类型在DynamoDB中进行查找您需要执行**扫描**而不是查询您正在尝试将DynamoDB视为SQL数据库,事实并非如此,我建议花时间阅读文档并了解其差异。如果你只是在寻找某人为你修复代码,至少在你的问题中显示更多的代码。 –