1. Ikhtisar
Dalam tutorial ini, kita akan belajar memeriksa koneksi dengan MongoDB.
Yang penting untuk terhubung ke instance MongoDB tunggal, kita perlu menentukan URI instance MongoDB.
2. Memeriksa Koneksi Menggunakan Mongo Shell
Di bagian ini, kita akan terhubung ke server MongoDB menggunakan perintah mongo shell. Kami akan menjelajahi berbagai kasus koneksi ke MongoDB.
2.1. Memeriksa Koneksi pada Port Default
Secara default, MongoDB berjalan pada port 27017, tetapi kami juga dapat menjalankannya di beberapa port lain. Kita dapat terhubung ke server MongoDB menggunakan perintah mongo sederhana:
$ mongo
MongoDB shell version v4.4.2
connecting to: mongodb://localhost:27017/?compressors=disabled&gssapiServiceName=mongodb
Implicit session: session { "id" : UUID("b7f80a0c-c7b9-4aea-b34c-605b85e601dd") }
MongoDB server version: 4.0.1-rc0-2-g54f1582fc6
Pada perintah di atas, secara default, MongoDB mengasumsikan port sebagai 27017 . Jika server MongoDB sedang down, kita mendapatkan error berikut:
$ mongo --host localhost --port 27017 admin
MongoDB shell version v4.4.2
connecting to: mongodb://localhost:27017/admin?compressors=disabled&gssapiServiceName=mongodb
Error: couldn't connect to server localhost:27017, connection attempt failed:
SocketException: Error connecting to localhost:27017 :: caused by :: Connection refused :
[email protected]/mongo/shell/mongo.js:374:17
@(connect):2:6
exception: connect failed
exiting with code 1
Dalam hal ini, kami mendapatkan kesalahan karena kami tidak dapat terhubung ke server.
2.2. Memeriksa Koneksi pada Basis Data MongoDB Terjamin
MongoDB dapat dilindungi dengan otentikasi. Dalam hal ini, kita harus memasukkan nama pengguna dan kata sandi dengan perintah:
$ mongo mongodb://baeldung:[email protected]:27017
Di sini kami menggunakan nama pengguna “baeldung” dan sandi “baeldung” untuk terhubung ke MongoDB yang berjalan di localhost.
2.3. Memeriksa Koneksi pada Port Kustom
Kami juga dapat menjalankan MongoDB pada port khusus. Yang perlu kita lakukan adalah membuat perubahan di mongod.conf mengajukan. Jika MongoDB berjalan di beberapa port lain, kita perlu menyediakan port tersebut dengan perintah:
$ mongo mongodb://localhost:27001
Di sini, di mongo shell, kita juga dapat memeriksa koneksi server database yang sedang aktif.
var status = db.serverStatus();
status.connections
{
"current" : 21,
"available" : 15979
}
serverStatus mengembalikan dokumen yang memberikan gambaran tentang status saat ini dari proses database. Menjalankan serverStatus . secara teratur perintah akan mengumpulkan statistik tentang instance MongoDB.
3. Memeriksa Koneksi Menggunakan Kode Driver Java
Sejauh ini, kita telah belajar untuk memeriksa koneksi dengan MongoDB menggunakan shell. Sekarang mari kita lihat hal yang sama menggunakan kode driver Java:
MongoClientOptions.Builder builder = MongoClientOptions.builder();
// builder settings
ServerAddress ServerAddress = new ServerAddress("localhost", 27017);
MongoClient mongoClient = new MongoClient(ServerAddress, builder.build());
try {
System.out.println("MongoDB Server is Up:- "+mongoClient.getAddress());
System.out.println(mongoClient.getConnectPoint());
System.out.println(db.getStats());
} catch (Exception e) {
System.out.println("MongoDB Server is Down");
} finally{
mongoClient.close();
}
Pada kode di atas, pertama-tama kita membuat MongoClientOption builder untuk menyesuaikan konfigurasi MongoClient konektivitas, lalu buat MongoClient koneksi menggunakan alamat server. Misalkan server MongoDB berjalan di 27017 port dari localhost. Jika tidak, MongoClient akan menimbulkan kesalahan.