在.net中我指定
QueryOperationConfig queryConfig = new QueryOperationConfig
{
Filter = queryFilter,
IndexName = "PARTNAME-NAME-index",
Limit = 1,
BackwardSearch = desc,
Select = SelectValues.SpecificAttributes,
AttributesToGet = new List<string>
{ "PARTNAME","ID", "NAME","WEIGHT" }
};
但在查询结果中属性顺序是 重量,ID,PARTNAME,NAME
在我的表中,PARTNAME是Hashkey,ID是Sortkey,我有一个由PARTNAME和NAME组合的GSI PARTNAME-NAME-index
如何指定所需的属性顺序, 或者他们如何默认订购?
答案 0 :(得分:0)
首先,您使用的是旧版AttributesToGet
参数。
这是遗留参数。请改用ProjectionExpression。
<强>答案: - 强>
DynamoDB不保证结果中属性的顺序。 DynamoDB主要是键值存储。您需要从结果中获取特定键的值。
请注意,这与RDBMS上的SELECT语句不同。这是一个NoSQL数据库,它与RDBMS完全不同。