У меня довольно тривиальная проблема, но я постоянно получаю сообщение об ошибке.
Итак, у меня есть класс Request
, который содержит поле списка calls
.И я хотел бы использовать Mongo для запроса запросов по to
-объекту Call
-объекта (например, чтобы найти все запросы, которые содержат хотя бы один вызов человеку Alice
).
@Document
public class Request {
@Id
String id;
String content;
List<Call> calls;
//getters setters etc.
}
public class Call {
String from;
String to;
DateTime timestamp;
//getters setters etc.
}
В своем репозитории я пытался выполнять разные виды запросов.Но все они возвращают ошибку.
interface RequestRepo extends ReactiveMongoRepository<Request, String> {
@Query("select r from Request r where r.calls.to = :userId")
// I also tried "@Query({ 'calls.to' : ?0 }")
Flux<Request> findAllByCallTo(@Param("userId") String userId);
}
Но, к сожалению, я всегда получаю сообщение об ошибке:
readStartDocument can only be called when CurrentBSONType is DOCUMENT, not when CurrentBSONType is STRING.
В чем может быть проблема и каков правильный путьнаписать запрос?