Używamy repozytoriów danych sprężynowych do przechowywania/pobierania dokumentów. Poniżej znajduje się struktura Java klas, które mamy: Klasa abstrakcyjna A -> klasy betonu B i C Piszemy dokumenty za pomocą metody save(). kiedy dokument jest zapisywany, zapisywana jest zmienna "_class", która przechowuje klasę ClassPath. Teraz, gdy próbujemy przesyłać zapytania do danych, otrzymujemy dokumenty obu klas B i C. Oto przykład:Wyszukiwanie danych sprężynowych według wartości "_class"
Kiedy nazywamy tę metodę, lista (zaskakująco) zawiera również obiekty C. Być może dlatego, że B i C mają jedną właściwość, która ma taką samą nazwę. Moje pytanie brzmi: jeśli chcemy ograniczyć wynik do konkretnej klasy, czy jest to możliwe przy użyciu repozytorium Mongo? Próbowaliśmy z findBy_Class, findByClass, ale wyrzucił wyjątek mówiąc, że nie był w stanie znaleźć elementu "class" w "B".
Czy typ powrotu (np. Lista < B>) nie pomaga filtrować obiektów? Jakieś pomysły?
Z góry dziękuję.
Dzięki za odpowiedź. Używam obiektu operacji MongoRepository, a nie Mongo. Tak więc, po prostu zdefiniuję metody w interfejsie i te metody zostaną przekształcone w zapytania, jak wyjaśniono w tym adresie URL: http://docs.spring.io/spring-data/data-document/docs/current/reference/html/ # reositories.query-methods.query-lookup-strategie. Nie wiem, czy istnieje sposób na określenie klasy tutaj. –