我是DynamoDb新手,但我想使用.NET查询数据,我有点困惑DynamoDb强迫我使用主键和KeyConditionExpression。
例如,在SQL中,我可以这样做
SELECT * FROM tbl1 WHERE name = 'Alex'
在这种情况下,名字是
不是
主键。但我不能在迪纳莫德做类似的事情。
这是我的代码:
var request = new QueryRequest
{
TableName = "CompanyCommunication",
KeyConditionExpression = "Id = :v_Id",
FilterExpression = "CompanyName = :v_Com",
ExpressionAttributeValues = new Dictionary<string, AttributeValue> {
{":v_Com", new AttributeValue { S = "Microsoft" }} , {":v_Id", new AttributeValue { S = "1" } } }
};
Id是我的主键。但是我不能注释KeyConditionExpression或在KeyConditionExpression中使用其他字段。
但是我怎么能做一个查询
不使用主键
?
例如,仅使用CompanyName字段。
也许我误解了什么?