Я пытаюсь выполнить запрос в качестве примера для вложенного документа в MongoDB с использованием Spring Data Mongo.
Предполагается, что объект в базе данных выглядит примерно так:
{
_id : ObjectId("..."),
child : {
attribute1 : "value1"
}
}
Я хотел бы передать пример ребенка, чтобы затем отфильтровать коллекцию по этому. Я попробовал это:
Criteria.where("child").elemMatch(Criteria.byExample(sampleObject))
Кажется, что это генерирует правильный запрос для MongoDB, но кажется, что $elemMatch
работает только с полями массива.
Тогда я попробовал:
Criteria.where("child").alike(Example.of(sampleObject))
Это приводит к исключению:
java.lang.RuntimeException: json can't serialize type : class org.springframework.data.domain.example