MongoDB データベースでは、Java アプリケーションが複雑なクエリと集計操作を実装でき、開発者に強力なデータ分析と処理機能を提供します。以下では、Java を使用して複雑なクエリと集計操作を実行する方法を詳しく紹介し、その使用法を説明するサンプル コードをいくつか紹介します
1. 単一ドキュメントのクエリ: MongoClient mongoClient = new MongoClient("localhost", 27017);MongoDatabase database = mongoClient.getDatabase("mydb");MongoCollection<document> collection = database.getCollection("mycollection");Document document = collection.find(eq("name", "John")).first();System.out.println(document.toJson());</document>
2. 複数のドキュメントのクエリ: MongoClient mongoClient = new MongoClient("localhost", 27017);MongoDatabase database = mongoClient.getDatabase("mydb");MongoCollection<document> collection = database.getCollection("mycollection");FindIterable<document> documents = collection.find(gt("age", 18));for (Document document : documents) {System.out.println(document.toJson());}</document></document>
3. ネストされたドキュメントのクエリ: MongoClient mongoClient = new MongoClient("localhost", 27017);MongoDatabase database = mongoClient.getDatabase("mydb");MongoCollection<document> collection = database.getCollection("mycollection");Document query = new Document("address.city", "New York");FindIterable<document> documents = collection.find(query);for (Document document : documents) {System.out.println(document.toJson());}</document></document>
4. 配列フィールドのクエリ: #MongoClient mongoClient = new MongoClient("localhost", 27017);MongoDatabase database = mongoClient.getDatabase("mydb");MongoCollection<document> collection = database.getCollection("mycollection");Document query = new Document("tags", "technology");FindIterable<document> documents = collection.find(query);for (Document document : documents) {System.out.println(document.toJson());}</document></document>
## 2. 集計操作
1. 簡単な概要:
MongoClient mongoClient = new MongoClient("localhost", 27017);MongoDatabase database = mongoClient.getDatabase("mydb");MongoCollection<document> collection = database.getCollection("mycollection");List<document> pipeline = Arrays.asList(new Document("$match", new Document("status", "A")),new Document("$group", new Document("_id", "$category").append("count", new Document("$sum", 1))));AggregateIterable<document> result = collection.aggregate(pipeline);for (Document document : result) {System.out.println(document.toJson());}</document></document></document>
MongoClient mongoClient = new MongoClient("localhost", 27017);MongoDatabase database = mongoClient.getDatabase("mydb");MongoCollection<document> collection = database.getCollection("mycollection");List<document> pipeline = Arrays.asList(new Document("$group", new Document("_id", null).append("total", new Document("$sum", "$amount"))),new Document("$project", new Document("_id", 0).append("total", 1)));AggregateIterable<document> result = collection.aggregate(pipeline);for (Document document : result) {System.out.println(document.toJson());}</document></document></document>
MongoClient mongoClient = new MongoClient("localhost", 27017);MongoDatabase database = mongoClient.getDatabase("mydb");MongoCollection<document> collection = database.getCollection("mycollection");List<document> pipeline = Arrays.asList(new Document("$group", new Document("_id", "$category").append("total", new Document("$sum", "$amount"))),new Document("$sort", new Document("total", -1)));AggregateIterable<document> result = collection.aggregate(pipeline);for (Document document : result) {System.out.println(document.toJson());}</document></document></document>
以上がMongoDB データベースでの Java のアプリケーション: 高度なクエリおよび集計操作の実装の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。