MongoDB menyediakan konektivitas untuk aplikasi klien Java menggunakan driver Java. Menggunakan driver Java itu sederhana, cukup sertakan driver jar mongo. jar di jalur kelas Anda. Anda akan mendapatkan informasi lebih lanjut tentang Java API dari sini
Unduh mongodb.dll. toples dari sini
API JDBC dapat melakukan hal-hal berikut
- Buat koneksi dengan database atau akses sumber data tabular apa pun
- Kirim berbagai pernyataan MongoDB
- Mengambil dan memproses hasil yang diterima dari database
Membuat Koneksi
Berikut adalah beberapa metode umum untuk terhubung ke server MongoDB
Untuk langsung terhubung ke satu server MongoDB
MongoClient mongoClient = new MongoClient(); // or MongoClient mongoClient = new MongoClient( "localhost" ); // or MongoClient mongoClient = new MongoClient( "localhost" , 27017 ); _Untuk terhubung ke kumpulan replika, dengan penemuan otomatis dari yang utama, berikan daftar benih anggota
MongoClient mongoClient = new MongoClient(Arrays.asList(new ServerAddress("localhost", 27017), new ServerAddress("localhost", 27018), new ServerAddress("localhost", 27019)));Autentikasi (Opsional)
MongoDB dapat dijalankan dalam mode aman di mana akses ke database dikontrol melalui autentikasi. Saat dijalankan dalam mode ini, aplikasi klien apa pun harus menyediakan daftar kredensial yang akan digunakan untuk mengautentikasi. Di driver Java, Anda cukup memberikan kredensial saat membuat instance MongoClient
Koneksi ke Basis Data MongoDB
Kode berikut menunjukkan cara membuat koneksi ke database MongoDB. Jika database tidak ada, MongoDB akan membuatnya untuk Anda
Keluaran
F:\java-mongodb>javac mongodb_connection.java F:\java-mongodb>java mongodb_connection Database Connection Successful!Masukkan dokumen
Setelah Anda memiliki objek koleksi, Anda dapat memasukkan dokumen ke dalam koleksi. Misalnya, mari buat dokumen siswa yang akan direpresentasikan dalam JSON
{ "name" : "Arun", "class" : 'V', "rollno" : 1 } _Di sini kita telah menggunakan kelas BasicDBObject untuk membuat dokumen, dan kemudian cukup memasukkannya ke dalam koleksi menggunakan metode insert()
Kode
import com.mongodb.MongoClient; import com.mongodb.MongoException; import com.mongodb.WriteConcern; import com.mongodb.DB; import com.mongodb.DBCollection; import com.mongodb.BasicDBObject; import com.mongodb.DBObject; import com.mongodb.DBCursor; import com.mongodb.ServerAddress; import java.util.Arrays; public class mongodb_connection_insert{ public static void main( String args[] ){ try{ MongoClient mongoClient = new MongoClient( "localhost" , 27017 ); DB db = mongoClient.getDB( "testdb" ); System.out.println("Database Connection Successful!"); DBCollection collec = db.getCollection("stucollec"); BasicDBObject doc = new BasicDBObject("student", "testdb") .append("name", "Arun") .append("class", 'V') .append("rollno", 1); collec.insert(doc); System.out.println("Document is inserted successfully"); }catch(Exception e){ System.err.println( e.getClass().getName() + ": " + e.getMessage() ); } } }Keluaran
F:\java-mongodb>java mongodb_connection_insert Database Connection Successful! Document is inserted successfully _Temukan dokumen
Untuk menampilkan atau menemukan dokumen secara sederhana, gunakan operasi findOne() untuk mendapatkan dokumen pertama dalam koleksi. Metode ini mengembalikan satu dokumen, dan berguna untuk hal-hal di mana hanya ada satu dokumen, atau Anda hanya tertarik pada yang pertama
Kode
import com.mongodb.MongoClient; import com.mongodb.MongoException; import com.mongodb.WriteConcern; import com.mongodb.DB; import com.mongodb.DBCollection; import com.mongodb.BasicDBObject; import com.mongodb.DBObject; import com.mongodb.DBCursor; import com.mongodb.ServerAddress; import java.util.Arrays; public class mongodb_connection_find_document{ public static void main( String args[] ){ try{ MongoClient mongoClient = new MongoClient( "localhost" , 27017 ); DB db = mongoClient.getDB( "testdb" ); System.out.println("Database Connection Successful!"); DBCollection collec = db.getCollection("stucollec"); DBObject myDoc = collec.findOne(); System.out.println(myDoc); }catch(Exception e){ System.err.println( e.getClass().getName() + ": " + e.getMessage() ); } } } _Keluaran
F:\java-mongodb>java mongodb_connection_find_document Database Connection Successful! { "_id" : { "$oid" : "54897b3309b478e666780749"} , "student" : "testdb" , "name" : "Arun" , "class" : "V" , "rollno" : 1}Biarkan memasukkan dua catatan lagi
Menggunakan kursor untuk mengambil semua dokumen
Untuk mendapatkan semua dokumen dalam koleksi, kami telah menggunakan metode find(). Metode find() mengembalikan objek DBCursor yang memungkinkan kita untuk mengulangi kumpulan dokumen yang cocok dengan kueri kita. Jadi untuk menanyakan semua dokumen dan mencetaknya
Kode
MongoClient mongoClient = new MongoClient(Arrays.asList(new ServerAddress("localhost", 27017), new ServerAddress("localhost", 27018), new ServerAddress("localhost", 27019))); 2Keluaran
MongoClient mongoClient = new MongoClient(Arrays.asList(new ServerAddress("localhost", 27017), new ServerAddress("localhost", 27018), new ServerAddress("localhost", 27019))); _3Permintaan dokumen tunggal
Kita dapat membuat kueri untuk diteruskan ke metode find() untuk mendapatkan subset dokumen dalam koleksi kita. Misalnya, jika kita ingin menemukan dokumen yang nilai kolom "rollno"-nya adalah 2, kita akan melakukan hal berikut ;
Kode
MongoClient mongoClient = new MongoClient(Arrays.asList(new ServerAddress("localhost", 27017), new ServerAddress("localhost", 27018), new ServerAddress("localhost", 27019))); _4Keluaran
MongoClient mongoClient = new MongoClient(Arrays.asList(new ServerAddress("localhost", 27017), new ServerAddress("localhost", 27018), new ServerAddress("localhost", 27019))); 5Kueri beberapa dokumen
Kita dapat menggunakan kueri untuk mendapatkan sekumpulan dokumen dari koleksi kita. Misalnya, jika Anda ingin mendapatkan semua dokumen dengan "rollno" >= 2, kita dapat menulis
Kode
MongoClient mongoClient = new MongoClient(Arrays.asList(new ServerAddress("localhost", 27017), new ServerAddress("localhost", 27018), new ServerAddress("localhost", 27019))); 6Keluaran
Perbarui dokumen
Program berikut menunjukkan cara menggunakan $set dalam program java untuk memperbarui satu dokumen yang cocok
Kode
MongoClient mongoClient = new MongoClient(Arrays.asList(new ServerAddress("localhost", 27017), new ServerAddress("localhost", 27018), new ServerAddress("localhost", 27019))); _8Keluaran
MongoClient mongoClient = new MongoClient(Arrays.asList(new ServerAddress("localhost", 27017), new ServerAddress("localhost", 27018), new ServerAddress("localhost", 27019))); _9Hapus dokumen
Program berikut menunjukkan cara menghapus satu dokumen yang cocok
Kode
MongoCredential credential = MongoCredential.createMongoCRCredential(userName, database, password); MongoClient mongoClient = new MongoClient(new ServerAddress(), Arrays.asList(credential)); 0Keluaran
MongoCredential credential = MongoCredential.createMongoCRCredential(userName, database, password); MongoClient mongoClient = new MongoClient(new ServerAddress(), Arrays.asList(credential)); 1Daftar koleksi
Program berikut mengembalikan daftar koleksi yang tersedia dalam database
Catatan. Sistem. koleksi indeks dibuat secara otomatis dan mencantumkan semua indeks dalam database dan tidak boleh diakses secara langsung