Список запросов карт в DynamoDB - PullRequest
0 голосов
/ 16 июня 2020

Я новичок в Dynamo, простите, пожалуйста, за наивность. Пример элемента в моей таблице users:

{
     id: "12345",
     accounts: [
          {
               id: "6789",
               type: "accountAdmin",
               disabled: false
          }
     ]
}

Эти элементы изначально хранились как документы в экземпляре MongoDB. Я хочу запросить элементы, у которых есть определенная карта внутри списка accounts, который соответствует id. В пн go я бы сделал:

db.getCollection("user").find({
    accounts: {
        $elemMatch: {
            id: "6789"
        }
    }
})

Но не знаю, как это сделать в Dynamo. Список accounts не индексируется. Я посмотрел на этот вопрос , в котором, кажется, упоминается, что прямой запрос невозможен, но глядя на операцию сканирования с ComparisonOperators, я подумал, что это возможно. Я понимаю, что оператор сканирования будет неэффективным, чем больше элементов в моей таблице, но можно ли вообще это сделать и какой способ будет наиболее эффективным?

EDIT: Пример таблица может вводить в заблуждение, но этот запрос вернет НЕСКОЛЬКО элементов, которые соответствуют запросу, а не только один, изображенный выше

...