У меня есть объект 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 правильным выбором для таких запросов.