Java Connection to MongoDB
MongoDB adalah salah satu database NoSQL paling populer yang dapat dengan mudah digunakan di dalam platform. Dalam panduan ini, kami akan menunjukkan cara menghubungkan instance ini dengan aplikasi Anda dan melakukan beberapa operasi sederhana.
Create Environment
1. Masuk ke akun PaaS Anda.
2. Buat environment dengan instance MongoDB (tersedia dalam bagian NoSQL). Server aplikasi yang Anda pilih untuk diterapkan dapat ditempatkan dalam environment yang sama atau terpisah (sebagai contoh, kami telah menambahkan Tomcat):
Klik Create dan tunggu beberapa menit untuk environment Anda muncul di dashboard.
MongoDB Configurations
1. Periksa kotak masuk email Anda - seharusnya terdapat pesan dengan rincian database:
2. Klik tombol Open in browser untuk node MongoDB di dalam dashboard Anda atau gunakan Access URL dari email untuk mengakses panel admin database.
Masuk menggunakan kredensial yang telah disebutkan di atas.
3. Buat database baru dengan beralih ke tab Databases dan mengetikkan Name untuknya (misalnya, mongodb-connect) dalam formulir Create Database.
Klik Save untuk melanjutkan.
4. Selanjutnya, Anda perlu membuat pengguna untuk DB ini - oleh karena itu, navigasikan ke tab Execute dan pilih database yang baru Anda buat melalui daftar drop-down yang sesuai.
Kemudian ketik perintah berikut dalam kolom input di atas:
db.createUser({ user: “**user_name** ”, pwd: “**password** ”, roles:[{ role: “readWrite”, db: “**db_name** "}]})
di mana:
- user_name - nama yang diinginkan untuk pengguna DB baru Anda
- password - kata sandi untuk pengguna ini
- db_name - nama database tempat pengguna baru akan mendapat izin read/write
Setelah itu, klik tombol Execute dan tunggu respons keberhasilan.
5. Sekarang, kembali ke dashboard dan buat file terpisah untuk menyimpan informasi koneksi database.
Anda dapat menentukan semua data yang diperlukan untuk koneksi langsung di dalam kode Anda (aplikasi). Dalam contoh yang diberikan, kami meletakkan pengaturan ini ke file, yang dibaca oleh aplikasi uji kami (disajikan dalam bagian panduan berikutnya).
Klik tombol Config di sebelah server aplikasi Anda dalam environment yang sesuai (Tomcat dalam kasus kami).
Dalam tab yang terbuka, buat file mydb.cfg baru di dalam direktori home dan tentukan string berikut di sana:
host={db_access_url}
dbname={db_name}
user={user_name}
password={password}
di mana:
{db_access_url}
- tautan ke panel admin database (temukan di dalam email terkait atau klik Open in browser di sebelah node MongoDB Anda dan salin dari bilah alamat) tanpa bagian https://{db_name}
- nama database yang dibuat (mongodb-connect dalam kasus kami){user_name}
- nama pengguna DB yang Anda tetapkan ke database ini (dbuser dalam kasus kami){password}
- kata sandi pengguna yang bersangkutan
Jangan lupa untuk Save perubahan.
Application Deployment
1. Sekarang Anda dapat mendistribusikan proyek Anda ke environment yang sudah dipersiapkan.
Sebagai contoh, berikut adalah kode aplikasi kami, yang dimaksudkan untuk menguji koneksi ke node MongoDB kami.
MongoManager.java
package example;
import com.mongodb.*;
import com.mongodb.client.MongoDatabase;
import org.bson.Document;
import java.io.FileInputStream;
import java.io.IOException;
import java.util.Arrays;
import java.util.Date;
import java.util.Properties;
public class MongoManager {
static String host, dbname, user, password;
public void addData(int repeats) {
try {
Properties prop = new Properties();
prop.load(new FileInputStream(System.getProperty("user.home") + "/mydb.cfg"));
host = prop.getProperty("host").toString();
dbname = prop.getProperty("dbname").toString();
user = prop.getProperty("user").toString();
password = prop.getProperty("password").toString();
System.out.println("host: " + host + "\ndbname: " + dbname + "\nuser: " + user + "\npassword: " + password);
MongoCredential credential = MongoCredential.createCredential(user, dbname, password.toCharArray());
MongoClient mongoClient = new MongoClient(new ServerAddress(host), Arrays.asList(credential));
MongoDatabase db = mongoClient.getDatabase(dbname);
try {
db.getCollection("mycollection");
} catch (Exception e) {
db.createCollection("mycollection", null);
System.out.println("Repeats: " + repeats);
for (int i = 1; i <= repeats; i++) {
Document document = new Document("data", new Date());
db.getCollection("mycollection").insertOne(document);
System.out.println("INFO: row added " + document);
}
} finally {
mongoClient.close();
}
} catch (IOException ex) {
}
}
}
2. Setiap aplikasi dapat didistribusikan menggunakan Deployment Manager platform (dengan file lokal/URL sebagai sumber) atau Maven (untuk distribusi dari GIT/SVN).
Untuk pengujian, Anda dapat mencoba proyek mongoclient.war yang siap pakai, yang sudah berisi driver konektor yang sesuai (atau unduh sumbernya dan sesuaikan dengan cara yang Anda inginkan).
Untuk menghubungkan proyek Anda sendiri ke database MongoDB Anda, Anda perlu mengunggah perpustakaan mongo-java-driver.jar yang sesuai ke folder webapps/{app_context}/WEB-INF/lib dari server aplikasi Anda dengan aplikasi terdistribusi.
3. Sebagai hasilnya, Anda akan mendapatkan environment yang mirip dengan yang ada di bawah ini:
Connection Check Up
1. Klik Open in Browser di sebelah environment Anda dengan aplikasi contoh yang terdistribusi. Anda akan melihat jendela baru terbuka dengan formulir MongoDB Manager yang sederhana ditampilkan.
Ketik jumlah baris yang diinginkan (untuk ditambahkan ke database terkait) ke kolom yang sesuai dan klik tombol Insert rows.
2. Tunggu sebentar sampai halaman berhenti diperbarui dan kembali ke panel admin MongoDB.
Navigasi ke database mongodb-connect dalam daftar di sebelah kiri dan periksa koleksi baru mycollection di dalamnya - seharusnya termasuk jumlah catatan yang disebutkan di atas, 5 dalam kasus kami.
Seperti yang Anda lihat, semuanya berjalan lancar, karena aplikasi dapat terhubung ke DB kami. Sekarang Anda dapat menggunakan panel admin untuk melakukan operasi lain yang diperlukan pada database Anda dengan cara yang sama.
Useful to Know
Dokumentasi platform juga berisi sejumlah panduan tambahan untuk server MongoDB, yang mungkin berguna bahkan untuk pengguna berpengalaman dan akrab dengan subjek ini:
- konfigurasikan Replica Set dengan jumlah node MongoDB yang tidak genap untuk menerapkan replikasi master-slave dan failover otomatis secara bersamaan
- pastikan keamanan informasi melalui penyesuaian Backups Scheduling - ini mencegah kehilangan data dan memungkinkan untuk memulihkannya dalam kasus kegagalan server yang tidak terduga
- pelajari cara membangun Remote Access ke database Anda untuk mendapatkan kemampuan bekerja dengan itu melalui aplikasi klien yang sesuai, bahkan tanpa perlu masuk ke dashboard kami
- baca panduan Dump Import/Export untuk menemukan cara melakukan backup data secara manual dengan file dump dan kemudian memulihkannya dari dump yang telah dibuat sebelumnya jika diperlukan