Java MongoDBでページネーションクエリを実装する方法

MongoDBのページングクエリをJavaで実装するには、以下の手順に従ってください。

  1. まず、Java の MongoDB ドライバをインポートします。たとえば、Maven 프로젝トの場合、pom.xml ファイルに次の依存関係を追加します。
<dependency>
    <groupId>org.mongodb</groupId>
    <artifactId>mongo-java-driver</artifactId>
    <version>3.12.10</version>
</dependency>
  1. MongoClientインスタンスを作成し、MongoDBサーバに接続します。
MongoClient mongoClient = new MongoClient("localhost", 27017);
MongoDatabase database = mongoClient.getDatabase("mydb");
MongoCollection<Document> collection = database.getCollection("mycollection");
  1. MongoDBのfind()メソッドでクエリを実行し、ページングを開始するインデックスと各ページのアイテム数を指定する
int skip = (pageNumber - 1) * pageSize;
FindIterable<Document> documents = collection.find().skip(skip).limit(pageSize);
  1. 検索結果を走査し、対応する操作を実行する
for (Document document : documents) {
    // 操作查询结果
}

こちらが完全なサンプルコードです。

import com.mongodb.client.FindIterable;
import com.mongodb.client.MongoCollection;
import com.mongodb.client.MongoDatabase;
import org.bson.Document;

import com.mongodb.MongoClient;
import com.mongodb.MongoCredential;

import java.util.ArrayList;
import java.util.List;

public class PaginationExample {

    public static void main(String[] args) {

        // 连接到MongoDB服务器
        MongoClient mongoClient = new MongoClient("localhost", 27017);

        // 连接到数据库
        MongoDatabase database = mongoClient.getDatabase("mydb");

        // 连接到集合
        MongoCollection<Document> collection = database.getCollection("mycollection");

        // 分页查询
        int pageNumber = 2;
        int pageSize = 10;
        int skip = (pageNumber - 1) * pageSize;

        FindIterable<Document> documents = collection.find().skip(skip).limit(pageSize);

        // 遍历查询结果
        for (Document document : documents) {
            System.out.println(document.toJson());
        }

        // 关闭连接
        mongoClient.close();
    }
}

検索結果を並び替えたりフィルターしたりなど、必要に応じて操作することもできます。

bannerAds