Ich arbeite derzeit an einem Projekt mit Spring Data Mongo. Mein Repository ist nur eine Schnittstelle, die das MongoRepository erweitert. Ich möchte eine benutzerdefinierte Abfragemethode hinzufügen, um alle eindeutigen Werte für eines der Felder meiner Sammlung abzurufen.Spring Data Mongo - Abfrage-Methoden und Distinct Feld
ich so etwas wie dies versuchte:
@RepositoryRestResource(path = "devices", collectionResourceRel = "deviceInfos")
public interface DeviceInfoRepository extends MongoRepository<DeviceInfo, String> {
@RestResource(path = "distinctUnitIds")
List<String> findDistinctUnitIdBy();
}
Mit diesem Code, Frühling mir einen Fehler, weil es nicht in der Lage ist meine Liste zu erstellen. Also habe ich das versucht:
@RepositoryRestResource(path = "devices", collectionResourceRel = "deviceInfos")
public interface DeviceInfoRepository extends MongoRepository<DeviceInfo, String> {
@RestResource(path = "distinctUnitIds")
List<DeviceInfo> findDistinctUnitIdBy();
}
Dieser Code funktioniert, aber die verschiedenen scheint völlig ignoriert werden.
Die Dokumentation über in Abfragemethode Distinct ist wirklich nicht klar ...
Habe ich etwas falsch gemacht? Was ist der beste Weg zu lösen, die verschiedenen Werte eines Feldes mit Spring Data zu erhalten?
Danke!
Vielen Dank für Ihre Antwort. Ich habe so etwas erwartet. Gibt es eine Vorstellung davon, was das findDistinctBy im Referenzhandbuch beschrieben hat? –
Das Schlüsselwort distinct wird in Mongo-Repositories nicht unterstützt. Überprüfen Sie die unterstützten Schlüsselwörter hier http://docs.spring.io/spring-data/data-document/docs/current/reference/html/#mongodb.repositories.queries – Sigrist