DynamoDb запрос вложенного объекта Array по условию в Java - PullRequest
0 голосов
/ 24 февраля 2019

У меня есть объект Company со списком объектов Employee.Я хотел бы получить объект Employee из объекта Object с условием employee.firstName, а employee.lastName соответствует вводу пользователя.

Company.java

@Data  //lombok annotation
@DynamoDBTable(tableName = "Company")
class Company{

 @DynamoDBAttribute(attributeName="Id")  
 String id;

 @DynamoDBAttribute(attributeName="CompanyName")  
 String companyName;

 @DynamoDBAttribute(attributeName="Employees")  
 List<Employee> employees;
}

Employee.java

@DynamoDBDocument
@Data //Lombok annotation
class Employee {

   @DynamoDBAttribute(attributeName="FirstName")  
   String firstName;

   @DynamoDBAttribute(attributeName="LastName")  
   String lastName;

   @DynamoDBAttribute(attributeName="Salary")  
   Integer salary;
}

Я искал много мест, и похоже, что DynamoDb не поддерживает запросы к объектам вложенного массива.Поэтому я посмотрел на Mongodb, который имеет структуру агрегации и $ фильтр, который помогает в получении объекта вложенного массива.Но я сомневаюсь, что FilterExpressions в DynamoDb может помочь достичь того же.Я не уверен, как его использовать (FilterExpression в DynamoDb или любым другим способом) с приведенным выше вариантом использования.Если кто-то может поделиться решением для DynamoDb на Java, это будет очень полезно.Спасибо!

PS Я не использую Spring Framework.

Отредактировано: Пожалуйста, поделитесь ответом, связанным с mongodb, если решение не доступно в DynamoDb.После долгих поисков я считаю mongodb правильным выбором для таких запросов.

...