2016-08-02 5 views
1

mongodbリポジトリで最後に作成されたアイテムの作成日時を取得しようとしています。Springデータリポジトリを使用してMongodbで最後に作成されたドキュメントを取得

私は明らかにfindAll(ソートソート)関数を使用して最初の要素を取得できますが、これは大きなデータベースではあまり実用的ではありません。

Mongoクエリは "orderBy"クエリメソッドをサポートしていないので、これも解決策ではありません。

作成の順番は「作成済み」の順になりますので、最後に作成したドキュメントをコレクションに入れてもいいと思います。

私の質問は次のとおりです。 Springデータを使用してmongodbリポジトリで最後に作成されたドキュメントを取得する最適な方法は何ですか?

私の現在のコード:

@Data 
@Document 
public class Batch 
{ 
    @Id 
    String id; 
    LocalDateTime created; 
    //other stuff 
} 


public interface BatchRepository extends MongoRepository<Batch,String> 
{ 
    //this does not work 
    //Batch findOneOrderByCreatedDesc(); 
} 

答えて

6

次いずれかを試してみてください、それがメソッド名は少しあなたのバリアントとは異なることも

public interface BatchRepository extends MongoRepository<Batch,String> 
{ 
    Batch findTopByOrderByCreatedDesc(); 
} 

お知らせを動作するはず春が解析して、この違いは重要ですメソッド名を取得し、解析結果に基づいてクエリを作成します。

関連する問題