Zum Inhalt

spring-data reactive mit mongodb oder was mir gefehlt hat

Die Aufgabe: Lese das aktuellste Dokument einer Collection aus. Und setzte es mit spring-data und den ReactiveRepositories für mongodb um.
Gegeben ist also eine Collection mit Dokumenten, die das Attribut „createdAt“ des Typs Date haben.
Die native mongodb Query sieht so aus:

db.yourCollection.find({})
.projection({})
.sort({"createdAt":-1})
.limit(1)

Die einzige Lösung für diese Query mit einer reaktiven Repository, die ich für mich gefunden habe war:

MyDocument result = repository.findAll(Sort.by(Sort.Direction.DESC, "createdAt")).blockFirst();

Womit ich aus dem reaktiven Ansatz raus bin.
Bei dem Studium der Dokumentation habe ich jedenfalls keine Lösung finden können, die rein auf Repositories basiert und nicht den reactiven Ansatz verlässt. Es gibt natürlich immer noch die ReactiveMongodbTemplate Klasse mit der man die Query umsetzen könnte.

Für mich bleibt aber die Frage: warum wird „.limit(x)“ von den Repositories nicht unterstützt

Published inJavaProgrammierenspring-dataspringframework

Schreibe den ersten Kommentar

    Schreibe einen Kommentar

    Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.

    Diese Website verwendet Akismet, um Spam zu reduzieren. Erfahre mehr darüber, wie deine Kommentardaten verarbeitet werden.