Как сделать заказ в DynamoDB с помощью AWS SDK? - PullRequest
4 голосов
/ 05 марта 2012

В настоящее время моим значением диапазона является BigDecimal, достигаемое Time.now.to_f, и я хочу получить все документы пользователя, например, так:

table = dynamo_db.tables['some_table']
table.load_schema
docs = table.items.where(:user_id => user_id).select.map {|i| i.attributes}

docs упорядочено в диапазоне значений по убыванию .

1 Ответ

3 голосов
/ 08 марта 2012

После поиска в исходном коде SDK я смог найти этот маленький полезный слепок для метода AWS :: DynamoDB :: ItemCollection # query

  # @option [Boolean] :scan_index_forward (true) Specifies which
  #   order records will be returned.  Defaults to returning them
  #   in ascending range key order.  Pass false to reverse this.

Поскольку мое user_id является значением хеш-функцииЯ смог изменить свой запрос на:

docs = table.items.query(:hash_value => user_id, :scan_index_forward => false).select.map {|i| i.attributes}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...