2

Spring MVCでMongoDBクエリの結果をソートする最良の方法は何ですか? XML ファイルにすべてのマッピングを設定しました。Service クラスで myrepository.findAll() を呼び出すことができ、問題なく動作しています。

これらの結果を並べ替える方法 (日付順など) および/または結果を制限する方法 (3 など)。Mongo 自体では、db.mycollection.find().sort({ postedAt : -1}); を実行するのは非常に簡単です。または、最初の 3 つの結果を取得するために .limit(3) をスローするだけです。

Spring MVC 環境でこれを処理する最良の方法は何ですか?

ありがとう。

4

2 に答える 2

2

myrepositoryオブジェクトがMongoRepositoryのインスタンスである場合、パラメーターとしてPageableオブジェクトを使用してfindAllメソッドを呼び出すことができます

Pageable page = new PageRequest(0, 3, new Sort(Direction.DESC, "postedAt"));
myrepository.findAll(page);

実際、このメソッドはPagingAndSortingRepositoryインターフェースからのものです。

于 2012-12-17T18:52:26.527 に答える
0

MongoDB 自体には多くのオプションがあるため、ソートするのは良いことだと思います。たとえば、あなたが言及した方法でソートされたリストが得られます。並べ替えを容易にするインデックスを定義することもできます。春の環境で表示することは簡単です。また、ページネーションのようなユースケースがある場合は、あなたが言ったように、mongo レイヤーで制限して、その多くのレコードを春の環境に持ち込むことができます。

于 2012-12-17T18:30:21.630 に答える