English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
本章では、MongoDB CLIENTの設定方法を学びます。
JavaプログラムでMongoDBを使用し始める前に、コンピュータ上にMongoDB CLIENTとJavaが設定されていることを確認する必要があります。Javaのチュートリアルに従ってコンピュータにJavaをインストールできます。今、MongoDB CLIENTの設定方法を確認しましょう。
jarをダウンロードする必要があります。 mongodb-driver-3.11.2.jarおよび依存関係mongodb-driver-core-3.11.2.jar.
これらのjarファイルの最新バージョンをダウンロードしてください。
ダウンロードしたjarファイルをクラスパスに含める必要があります。
データベースに接続するには、データベース名を指定する必要があります。データベースが存在しない場合、MongoDBは自動的に作成します。
以下にデータベースに接続するコードスニペットがあります-
import com.mongodb.client.MongoDatabase; import com.mongodb.MongoClient; import com.mongodb.MongoCredential; public class ConnectToDB { public static void main(String args[]) { // Mongoクライアントの作成 MongoClient mongo = new MongoClient("localhost", 27017 ); // 証明書の作成 MongoCredential credential; credential = MongoCredential.createCredential("sampleUser", "myDb", "password".toCharArray()); System.out.println("データベースに成功して接続しました"); // データベースにアクセス MongoDatabase database = mongo.getDatabase("myDb"); System.out.println("Credentials ::"+ credential); } }
今、上記のプログラムをコンパイルして実行し、myDbデータベースを作成します。
$javac ConnectToDB.java $java ConnectToDB
実行後、上記のプログラムは以下の出力を提供します。
データベースに成功して接続しました Credentials ::MongoCredential{ mechanism = null, userName = 'sampleUser', source = 'myDb', password = <hidden>, mechanismProperties = {}
コレクションを作成するには、com.mongodb.client.MongoDatabase クラスの createCollection ()メソッドを使用します。
以下にコレクションを作成するコードスニペットがあります-
import com.mongodb.client.MongoDatabase; import com.mongodb.MongoClient; import com.mongodb.MongoCredential; public class CreatingCollection { public static void main(String args[]) { // Mongoクライアントの作成 MongoClient mongo = new MongoClient("localhost", 27017 ); // 証明書の作成 MongoCredential credential; credential = MongoCredential.createCredential("sampleUser", "myDb", "password".toCharArray()); System.out.println("データベースに成功して接続しました"); //データベースにアクセス MongoDatabase database = mongo.getDatabase("myDb"); //コレクションの作成 database.createCollection("sampleCollection"); System.out.println("コレクションが成功して作成されました"); } }
コンパイル時、以下の結果が提供されます-
データベースに成功して接続しました コレクションが成功して作成されました
データベースから取得する/コレクションを選択するには、com.mongodb.client.MongoDatabase クラスの getCollection ()メソッドを使用する必要があります。
以下に取得/コレクションを選択するプログラム-
import com.mongodb.client.MongoCollection; import com.mongodb.client.MongoDatabase; import org.bson.Document; import com.mongodb.MongoClient; import com.mongodb.MongoCredential; public class selectingCollection { public static void main(String args[]) { // Mongoクライアントの作成 MongoClient mongo = new MongoClient("localhost", 27017 ); // 証明書の作成 MongoCredential credential; credential = MongoCredential.createCredential("sampleUser", "myDb", "password".toCharArray()); System.out.println("データベースに成功して接続しました"); // データベースにアクセス MongoDatabase database = mongo.getDatabase("myDb"); // コレクションの作成 System.out.println("コレクションが成功して作成されました"); // コレクションの取得 MongoCollection<Document> collection = database.getCollection("myCollection"); System.out.println("コレクションmyCollectionを選択成功しました"); } }
コンパイル時、以下の結果が提供されます-
データベースに成功して接続しました コレクションが成功して作成されました コレクションmyCollectionが成功して選択されました
MongoDB にドキュメントを挿入するには、com.MongoDB.client.MongoCollection クラスの insert ()メソッドを使用する必要があります。
以下はドキュメントを挿入するコードスニペットです-
import com.mongodb.client.MongoCollection; import com.mongodb.client.MongoDatabase; import org.bson.Document; import com.mongodb.MongoClient; public class InsertingDocument { public static void main(String args[]) { // Mongoクライアントの作成 MongoClient mongo = new MongoClient("localhost", 27017 ); // データベースにアクセス MongoDatabase database = mongo.getDatabase("myDb"); // コレクションの作成 database.createCollection("sampleCollection"); System.out.println("コレクションが成功して作成されました"); // コレクションの取得 MongoCollection<Document> collection = database.getCollection("sampleCollection"); System.out.println("サンプルコレクションsampleCollectionを選択成功しました"); Document document = new Document("title", "MongoDB") .append("description", "database") .append("likes", 100) .append("url", "http://ja.oldtoolbag.com/mongodb/") .append("by", "oldtoolbag.com"); //ドキュメントをコレクションに挿入します collection.insertOne(document); System.out.println("ドキュメントの挿入に成功しました"); }
コンパイル時、以下の結果が提供されます-
データベースに成功して接続しました 成功してコレクションsampleCollectionに選択しました ドキュメントの挿入に成功しました
コレクションからすべてのドキュメントを選択するには、使用してくださいcom.mongodb.client.MongoCollection
のclass
。このメソッドはカーソルを返しますので、カーソルを反復します。
メソッドfind()
以下はすべてのドキュメントを選択するプログラムです-
import com.mongodb.client.FindIterable; import com.mongodb.client.MongoCollection; import com.mongodb.client.MongoDatabase; import java.util.ArrayList; import java.util.Iterator; import java.util.List; import org.bson.Document; import com.mongodb.MongoClient; import com.mongodb.MongoCredential; public class RetrievingAllDocuments { public static void main(String args[]) { // Mongoクライアントの作成 MongoClient mongo = new MongoClient("localhost", 27017 ); // 証明書の作成 MongoCredential credential; credential = MongoCredential.createCredential("sampleUser", "myDb", "password".toCharArray()); System.out.println("データベースに成功して接続しました"); // データベースにアクセス MongoDatabase database = mongo.getDatabase("myDb"); // コレクションの取得 MongoCollection<Document> collection = database.getCollection("sampleCollection"); System.out.println("サンプルコレクションsampleCollectionを選択成功しました"); Document document1 = new Document("title", "MongoDB") .append("description", "database") .append("likes", 100) .append("url", "http://ja.oldtoolbag.com/mongodb/") .append("by", "oldtoolbag.com"); Document document2 = new Document("title", "RethinkDB") .append("description", "database") .append("likes", 200) .append("url", "http://ja.oldtoolbag.com/rethinkdb/") .append("by", "oldtoolbag.com"); List<Document> list = new ArrayList<Document>(); list.add(document1); list.add(document2); collection.insertMany(list); // イテレーション可能なオブジェクトを取得 FindIterable<Document> iterDoc = collection.find(); int i = 1; // イテレータを取得 Iterator it = iterDoc.iterator(); while (it.hasNext()) { System.out.println(it.next()); i++; } } }
コンパイル時、以下の結果が提供されます-
データベースに成功して接続しました 成功してコレクションsampleCollection{{_id=5dce4e9ff68a9c2449e197b2, title=MongoDB, description=database, likes=100, url=http://ja.oldtoolbag.com/mongodb/, by=oldtoolbag.com}}Document{{_id=5dce4e9ff68a9c2449e197b3, title=RethinkDB, description=database, likes=200, url=http://ja.oldtoolbag.com/rethinkdb/, by=oldtoolbag.com}}
コレクションからドキュメントを更新するには、使用してくださいcom.mongodb.client.MongoCollectionのclass
。
メソッドupdateOne()
以下は最初のドキュメントを選択するプログラムです-
import com.mongodb.client.FindIterable; import com.mongodb.client.MongoCollection; import com.mongodb.client.MongoDatabase; import com.mongodb.client.model.Filters; import com.mongodb.client.model.Updates; import java.util.Iterator; import org.bson.Document; import com.mongodb.MongoClient; import com.mongodb.MongoCredential; public class UpdatingDocuments { public static void main(String args[]) { // Mongoクライアントの作成 MongoClient mongo = new MongoClient("localhost", 27017 ); // 証明書の作成 MongoCredential credential; credential = MongoCredential.createCredential("sampleUser", "myDb", "password".toCharArray()); System.out.println("データベースに成功して接続しました"); // データベースにアクセス MongoDatabase database = mongo.getDatabase("myDb"); // コレクションの取得 MongoCollection<Document> collection = database.getCollection("sampleCollection"); System.out.println("コレクションmyCollectionを選択成功しました"); collection.updateOne(Filters.eq("title", 1), Updates.set("likes", 150)); System.out.println("ドキュメント更新成功..."); // 更新後のドキュメントを検索 // イテレーション可能なオブジェクトを取得 FindIterable<Document> iterDoc = collection.find(); int i = 1; // イテレータを取得 Iterator it = iterDoc.iterator(); while (it.hasNext()) { System.out.println(it.next()); i++; } } }
コンパイル時、以下の結果が提供されます-
データベースに接続成功しました コレクションmyCollectionを選択成功しました ドキュメント更新成功...Document{{_id=5dce4e9ff68a9c2449e197b2, title=MongoDB, description=database, likes=100, url=http://ja.oldtoolbag.com/mongodb/, by=oldtoolbag.com}}Document{{_id=5dce4e9ff68a9c2449e197b3, title=RethinkDB, description=database, likes=200, url=http://ja.oldtoolbag.com/rethinkdb/, by=oldtoolbag.com}}
コレクションからドキュメントを削除するには、以下のクラスを使用する必要がありますcom.mongodb.client.MongoCollection
の
メソッド。deleteOne()
以下はドキュメントの削除プログラムです-
import com.mongodb.client.FindIterable; import com.mongodb.client.MongoCollection; import com.mongodb.client.MongoDatabase; import com.mongodb.client.model.Filters; import java.util.Iterator; import org.bson.Document; import com.mongodb.MongoClient; import com.mongodb.MongoCredential; public class DeletingDocuments { public static void main(String args[]) { // Mongoクライアントの作成 MongoClient mongo = new MongoClient("localhost", 27017 ); // 証明書の作成 MongoCredential credential; credential = MongoCredential.createCredential("sampleUser", "myDb", "password".toCharArray()); System.out.println("データベースに成功して接続しました"); // データベースにアクセス MongoDatabase database = mongo.getDatabase("myDb"); // コレクションの取得 MongoCollection<Document> collection = database.getCollection("sampleCollection"); System.out.println("サンプルコレクションsampleCollectionを選択成功しました"); // ファイルを削除 collection.deleteOne(Filters.eq("title", "MongoDB")); System.out.println("ドキュメント削除成功..."); // 更新後のドキュメントを検索 // イテレーション可能なオブジェクトを取得 FindIterable<Document> iterDoc = collection.find(); int i = 1; // イテレータを取得 Iterator it = iterDoc.iterator(); while (it.hasNext()) { System.out.println(it.next()); i++; } } }
コンパイル時、以下の結果が提供されます-
データベースに接続成功しました サンプルコレクションsampleCollectionを選択成功しました ドキュメント削除成功...Document{{_id=5dce4e9ff68a9c2449e197b3, title=RethinkDB, description=database, likes=200, url=http://ja.oldtoolbag.com/rethinkdb/, by=oldtoolbag.com}}
データベースからコレクションを削除するには、以下のクラスを使用しますcom.mongodb.client.MongoCollection
の
メソッド。drop()
以下はコレクションの削除を行うプログラムです-
import com.mongodb.client.MongoCollection; import com.mongodb.client.MongoDatabase; import org.bson.Document; import com.mongodb.MongoClient; import com.mongodb.MongoCredential; public class DropingCollection { public static void main(String args[]) { // Mongoクライアントの作成 MongoClient mongo = new MongoClient("localhost", 27017 ); // 証明書の作成 MongoCredential credential; credential = MongoCredential.createCredential("sampleUser", "myDb", "password".toCharArray()); System.out.println("データベースに成功して接続しました"); // データベースにアクセス MongoDatabase database = mongo.getDatabase("myDb"); // コレクションの作成 System.out.println("コレクションが成功して作成されました"); // コレクションの取得 MongoCollection<Document> collection = database.getCollection("sampleCollection"); // コレクションの削除 collection.drop(); System.out.println("コレクションが成功して削除されました"); } }
コンパイル時、以下の結果が提供されます-
データベースに成功して接続しました Collection sampleCollection selected successfully コレクションが成功して削除されました
データベース内のすべてのコレクションをリストアップするには、以下のクラスを使用しますcom.mongodb.client.MongoDatabaseの
。
メソッドlistCollectionNames()
以下はデータベースのすべてのコレクションをリストアップするプログラムです-
import com.mongodb.client.MongoDatabase; import com.mongodb.MongoClient; import com.mongodb.MongoCredential; public class ListOfCollection { public static void main(String args[]) { // Mongoクライアントの作成 MongoClient mongo = new MongoClient("localhost", 27017 ); // 証明書の作成 MongoCredential credential; credential = MongoCredential.createCredential("sampleUser", "myDb", "password".toCharArray()); System.out.println("データベースに成功して接続しました"); // データベースにアクセス MongoDatabase database = mongo.getDatabase("myDb"); System.out.println("コレクションが成功して作成されました"); for (String name : database.listCollectionNames()) { System.out.println(name); } } }
コンパイル時、以下の結果が提供されます-
データベースに成功して接続しました コレクションが成功して作成されました myCollection myCollection1 myCollection5
その他のMongoDBメソッドsave()、limit()、skip()、sort()などは、後のチュートリアルで説明します。