Запросы по внутреннему полю объекта - PullRequest
1 голос
/ 28 мая 2019

У меня довольно тривиальная проблема, но я постоянно получаю сообщение об ошибке.

Итак, у меня есть класс 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.

В чем может быть проблема и каков правильный путьнаписать запрос?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...