Я новичок в 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: Пример таблица может вводить в заблуждение, но этот запрос вернет НЕСКОЛЬКО элементов, которые соответствуют запросу, а не только один, изображенный выше