![](/img/trans.png)
[英]How to support transactions in dynamoDB with javascript aws-sdk?
[英]How to use 'db.query' for the NodeJS AWS-SDK for DynamoDB
伙计们,我有下表:
hashKey (model): RangeKey (make):
mustang ford
f150 ford
malibu chevy
...
我想做的是搜索并返回所有福特车型,即:
var params = {
TableName : 'models',
IndexName : 'make-index',
KeyConditions :
{
"make" :
{
"AttributeValueList" : [
{
"S" : 'ford'
}
],
"ComparisonOperator" : "EQ"
}
},
}
db.query(params, function(err, data) {
if (err) {
console.log (err)
callback(err, null)
} else {
callback(null, data.Items)
}
});
我究竟做错了什么? :) 谢谢!
您是否使用make
作为索引的哈希键来设置全局二级索引? 您的查询告诉DynamoDB使用名为make-index
,但是从您的问题中不清楚该索引是否存在。
在DynamoDB中使用Query
操作的唯一方法是在散列键上使用EQ
运算符。 这可能是关于表上的哈希键,或者是全局二级索引上的哈希键,但是没有办法(没有全局二级索引)构造一个查询“给我所有范围键为ford
的项目”。 “ 如果您将全局二级索引设置为使用make
作为哈希键,则可以执行您所描述的查询。
不幸的是,只能在创建表时创建索引。 如果make
项上没有全局二级索引,那么可以使用“ Scan
操作完成它,但它不会像Query
那样Query
。
您可以在创建表后创建全局二级索引。 转到amazon aws dynamodb控制台,单击表格并单击“创建索引”。
您可以通过在Google中输入“amazon aws”找到amazon aws控制台。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.