【发布时间】:2015-05-20 06:03:39
【问题描述】:
我在 c# 中使用 dynamodb。
我能够扫描所有记录。但要求是对非关键列进行查询,但我无法得到它,
我找到了这个链接Querying DynamoDB on non-key attributes,但是找不到
如果我能得到任何链接或任何样本会更好
【问题讨论】:
-
它使用二级索引进行查询,我想查询索引或键中没有使用的其他列
标签: c# amazon-dynamodb nosql
我在 c# 中使用 dynamodb。
我能够扫描所有记录。但要求是对非关键列进行查询,但我无法得到它,
我找到了这个链接Querying DynamoDB on non-key attributes,但是找不到
如果我能得到任何链接或任何样本会更好
【问题讨论】:
标签: c# amazon-dynamodb nosql
我最终得到了这个解决方案
Amazon.DynamoDBv2.Model.Condition cond = new Condition();
cond.ComparisonOperator = "EQ";
cond.AttributeValueList = new List<AttributeValue>() { new AttributeValue { S = "ColumnValue" /*Media.ConvertToTimestamp(twoWeeksAgoDate).ToString()*/ } };
ScanResponse scRes = client.Scan(new ScanRequest { TableName = "TableName", ScanFilter = new Dictionary<string, Condition>() { { "ColumnName", cond } } });
【讨论】:
Query。
只是想澄清Query 至少需要具有相等条件的哈希键。您需要使用Scan 来过滤散列键值。
对于 Query,您还可以指定 FilterExpression 以对非关键属性设置条件,但请注意,这适用于 Query 条件的结果(即,在被查询的项目数量方面没有性能优势)在 DynamoDB 中处理,但可以减少通过网络发送的内容,并为您提供不必在客户端执行此操作的便利)。
【讨论】: