MongoDB を使用して Spring Boot でドキュメント ストレージとクエリを実装する

WBOY
リリース: 2023-06-23 10:18:30
オリジナル
1491 人が閲覧しました

Spring Boot は最新のエンタープライズ レベルの Web アプリケーション用の迅速な開発フレームワークであり、MongoDB は非常に人気のあるドキュメント データベースです。この記事では、Spring Boot と MongoDB を使用してドキュメント ストレージとクエリを実装する方法を紹介します。

ステップ 1: MongoDB をインストールする

MongoDB の使用を開始する前に、まず MongoDB データベースをインストールする必要があります。公式 Web サイトでは、ダウンロードできるさまざまなオペレーティング システムのバージョンが提供されています。ダウンロードが完了したら、インストール ウィザードの指示に従ってインストールします。

ステップ 2: Spring Boot プロジェクトを作成する

次に、Spring Boot プロジェクトを作成する必要があります。 Spring Boot フレームワークを使用する場合は、Spring Boot フレームワークをインストールしており、ある程度理解していることを前提としています。ここでは Spring Initializr を使用して新しいプロジェクトを作成します。

プロジェクトを作成するときは、Spring Web Starter と Spring Data MongoDB Starter の依存関係を追加する必要があります。これらはそれぞれ、Web アプリケーションと MongoDB データ ストレージの共通の依存関係です。

ステップ 3: MongoDB の構成

プロジェクトの作成後、MongoDB を構成する必要があります。 application.properties ファイルに、次のプロパティを追加する必要があります。

spring.data.mongodb.host=localhost
spring.data.mongodb.port=27017
spring.data.mongodb.database=test
ログイン後にコピー

上記のコードは、MongoDB サーバーのホスト名とポート、およびデータベースの名前を定義します。

ステップ 4: データ モデルを作成する

Spring Boot では、MongoTemplate オブジェクトを使用してデータベース操作を実行できます。何かを行う前に、単純なデータ モデルを定義する必要があります。

@Document(collection = "users")
public class User {

    @Id
    private String id;
    private String name;
    private int age;
    
    // getters and setters
    
}
ログイン後にコピー

ここでは、User という名前のデータ モデルを定義します。 @Document アノテーションは、このデータ モデルが MongoDB 内のどのコレクションに格納されるかを定義します。 @Id アノテーションは、MongoDB でこの属性がドキュメントの主キーとして使用されることを示します。

ステップ 5: リポジトリの作成

次に、基本的な CRUD 操作を処理するためのリポジトリを作成する必要があります。 Spring Boot では、Spring Data MongoDB を使用してこれらの操作を処理できます。リポジトリを作成するには、インターフェイスを作成して MongoRepository を拡張する必要があります。

@Repository
public interface UserRepository extends MongoRepository<User, String> {

}
ログイン後にコピー

ここでは、UserRepository というインターフェイスを定義しました。 MongoRepository を拡張することで、MongoDB の CRUD 操作を継承できます。

ステップ 6: MongoTemplate を使用して高度なクエリを実行する

次に、MongoTemplate オブジェクトを使用して高度なクエリ操作を実行する方法を紹介します。 MongoTemplate は、ドキュメントの検索に役立つ多くの便利なメソッドを提供します。

たとえば、Alice という名前のすべてのユーザーを検索するには、次のコードを使用します。

Query query = new Query();
query.addCriteria(Criteria.where("name").is("Alice"));
List<User> users = mongoTemplate.find(query, User.class);
ログイン後にコピー

ここでは、クエリ オブジェクトを作成し、Criteria.where() メソッドを使用してクエリを指定します。分野。最後に、find() メソッドを使用してクエリを実行します。

MongoTemplate オブジェクトを使用して、グループ化、集計、並べ替え、制限などのさまざまな種類のクエリ操作を実行できます。

ステップ 7: MongoDB GridFS を使用してファイルを保存および取得する

MongoDB は、より大きなファイルを保存および取得するために使用できる GridFS と呼ばれる機能も提供します。 GridFS は、ファイルをチャンクに分割して MongoDB に保存し、これらのチャンクを簡単に取得して結合するための一連のメソッドを提供します。

Spring Boot では、GridFS 操作に Spring Data MongoDB を使用できます。 GridFS を使用するには、GridFsTemplate オブジェクトを作成する必要があります。以下はサンプル コード スニペットです:

@Autowired
private GridFsTemplate gridFsTemplate;

public String saveFile(InputStream inputStream, String fileName) {
    DBObject metaData = new BasicDBObject();
    metaData.put("fileName", fileName);
    ObjectId objectId = gridFsTemplate.store(inputStream, fileName, metaData);
    return objectId.toString();
}

public GridFSDBFile getFile(String fileId) {
    return gridFsTemplate.findOne(new Query(Criteria.where("_id").is(fileId)));
}
ログイン後にコピー

ここでは、最初に GridFsTemplate オブジェクトを挿入します。 saveFile() メソッドは MongoDB にファイルを保存する方法を示し、getFile() メソッドはファイルを取得する方法を示します。

概要

この記事では、Spring Boot と MongoDB を使用してドキュメント ストレージとクエリを実装する方法を紹介しました。リポジトリを作成し、MongoTemplate オブジェクトを使用すると、さまざまな種類のデータベース操作を簡単に実行できます。 GridFS を使用して大きなファイルを保存および取得する方法についても説明しました。これらのツールを使用すると、複雑なアプリケーションを簡単に作成し、あらゆる種類のデータを保存および取得できます。

以上がMongoDB を使用して Spring Boot でドキュメント ストレージとクエリを実装するの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
最新の問題
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート