2017-06-06 53 views
0

少说数据的情况下,需要索引,发电机分贝具有格式的数据: -我需要通过DynamoDb返回

{ 
"id":"<id>", 
"field-1":"<field-1-value>", 
"field-2":"<field-2-value>", 
"field-3":"<field-3-value>", 
"field-4":"<field-4-value>", 
"metadata":{ 
     "subfield-1":"<subfield-1-value>", 
     "subfield-2":"<subfield-2-value>" 
     } 
} 

所以,我对id列和分区键在现场排序键1说。现在,我要求对于相同的ID,如果我们希望在子字段1值上具有搜索能力,那么可以在Dynamo Db中轻松完成而无需创建任何索引。最大。每个ID的行数为70.因此,看起来像一小组数据。

请让我知道您的意见。

回答

1

是的,这可以在没有索引的情况下实现。您可以使用FilterExpression过滤数据,即metadata.subfield-1

实施例:

var params = { 
    TableName : 'yourTableName', 
    KeyConditionExpression : 'id = :idval', 
    FilterExpression : '#metadata = :subField1Val', 
    ExpressionAttributeNames : { 
     '#metadata' : 'metadata.subfield-1' 
    }, 
    ExpressionAttributeValues : { 
     ':idval' : '7', 
     'subField1Val' : 'somevalue' 

    } 
};