Форматирование результатов запроса при запросе - PullRequest
0 голосов
/ 01 октября 2018

Мои данные структурированы следующим образом, и для простых запросов они возвращают их следующим образом:

{  
  'props':{  
     'prop1':'value1',
     'prop2':'value2',
     'prop3':'value3',
  },
  'some_id':'123',
  'timestamp':'1970-01-02 23:25:37'
}

Код, используемый для запроса:

response = table.query(        
  KeyConditionExpression=Key('some_id').eq(some_id),        
  ProjectionExpression="#p.#p1, #s",
  ExpressionAttributeNames={'#p': 'props', '#p1': 'prop1', '#s': 'some_id'}
  )

Результат с текущим кодом:

{
  'some_id': '123',
  'props': {
    {
      'prop1':'value1'
    }
  }
}

Но мой желаемый результат сглажен:

{ 
  'some_id': '123',
  'prop1': 'value1'
}

Итак, вопрос в том, как получить желаемый результат с помощью запроса, а не с python после получения результатов.

1 Ответ

0 голосов
/ 02 октября 2018

Не пытаясь настроить для этого полную тестовую среду, похоже, что вложенный формат - это проекция, которую вы явно запрашиваете.Я бы попробовал это:

response = table.query(        
    KeyConditionExpression=Key('some_id').eq(some_id),        
    ProjectionExpression="#p1, #s",
    ExpressionAttributeNames={'#p1': 'prop1', '#s': 'some_id'}
)

Поскольку вы на самом деле не хотите #p или вложенности вообще, я удалил его как из имен атрибутов, так и из проекции.

...