MongoDB Java

Done By Raju(DU)

MongoDB Java

Installation পদ্ধতিঃ

Java program এ MongoDB ব্যাবহার করার পূর্বে আমাদেরকে নিশ্চিত করতে হবে যে MongoDB JDBC
Driver এবং Java আমাদের machine এ পূর্বে থেকেই রয়েছে। আপনি আরও Java tutorial দেখতে পারেন আপনার
machine এ Java installation করার জন্য। এখন দেখবে কিভাবে MongoDB JDBC driver টি আপনার machine
এ setup করবেন।
১। প্রথমে আপনাকে একটি jar ফাইল দরকার পড়বে সেটি mongodb/mongo-java-driver/downloads> Download mongo.jar
থেকে নামিয়ে নিতে হবে এবং নিশ্চিত হতে হবে সেটি যেন নতুন সংস্করণের হয়।
২। আপনাকে অবশ্যই mongo.jar কে আপনার classpath এ সংযুক্ত করতে হবে ।

Connect to database( Database এ Connect করণ)
---------------------------------------------------
Database এ connect করার জন্য আপনাকে database name নির্দিষ্ট করতে হবে, যদি database এর কোন অস্তিত্ব না
থাকে তবে mongodb নিজেই তা তৈরি করে নিবে।

Database এ connect করার কিছু Code নিম্নরুপঃ

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 MongoDBJDBC{
public static void main( String args[] ){
try{
// To connect to mongodb server
MongoClient mongoClient = new MongoClient( "localhost" , 27017 );
// Now connect to your databases
DB db = mongoClient.getDB( "test" );
System.out.println("Connect to database successfully");
boolean auth = db.authenticate(myUserName, myPassword);
System.out.println("Authentication: "+auth);
}catch(Exception e){
System.err.println( e.getClass().getName() + ": " + e.getMessage() );
}
}
}

এখন database পরীক্ষা করার জন্য উপরের program টি সঙ্কলন এবং চালানো যাক। আপনার প্রয়োজন মত আপনি
path পরিবর্তন করে নিতে পারেন। আমরা JDBC driver mongo-2.10.1.jar ব্যাবহার করে বর্তমান path টি পাওয়া যায়।

যেমনঃ
$javac MongoDBJDBC.java
$java -classpath ".:mongo-2.10.1.jar" MongoDBJDBC
Connect to database successfully
Authentication: true

যদি আমরা machine টিতে Windows OS ব্যাবহার করি তবে আমরা code কে নিম্নরুপে compile and run করেতে
পারিঃ

$javac MongoDBJDBC.java
$java -classpath ".;mongo-2.10.1.jar" MongoDBJDBC
Connect to database successfully
Authentication: true

এইখানে auth এর Value হবে true, যদি user name এবং password টি নির্দিষ্ট database এর জন্য valid হয়।

Create a collection:(collection তৈরি করন)
-----------------------------
একটি collection তৈরি করার জন্য com.mongodb.DB class এর createCollection( ) পদ্ধতি ব্যাবহার করতে হয়।
Collection তৈরি করার জন্য code গুলি নিম্ন রুপঃ
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 MongoDBJDBC{
public static void main( String args[] ){
try{
// To connect to mongodb server
MongoClient mongoClient = new MongoClient( "localhost" , 27017 );
// Now connect to your databases
DB db = mongoClient.getDB( "test" );
System.out.println("Connect to database successfully");
boolean auth = db.authenticate(myUserName, myPassword);
System.out.println("Authentication: "+auth);
DBCollection coll = db.createCollection("mycol");
System.out.println("Collection created successfully");
}catch(Exception e){
System.err.println( e.getClass().getName() + ": " + e.getMessage() );
}
}
}

যখন program টি compiled and executed হবে তখন এটি নিম্নরূপ ফলাফল দিবে-
Connect to database successfully
Authentication: true
Collection created successfully

Getting/ selecting a collection(collection নির্দিষ্ট করন):
----------------------------------------------------
একটি collection কে database এ নির্দিষ্ট করতে com.mongodb.DBCollection class টির
getCollection() পদ্ধতি ব্যাবহার করা হয়।

Code গুলি নিম্নরূপঃ
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 MongoDBJDBC{
public static void main( String args[] ){
try{
// To connect to mongodb server
MongoClient mongoClient = new MongoClient( "localhost" , 27017 );
// Now connect to your databases
DB db = mongoClient.getDB( "test" );
System.out.println("Connect to database successfully");
boolean auth = db.authenticate(myUserName, myPassword);
System.out.println("Authentication: "+auth);
DBCollection coll = db.createCollection("mycol");
System.out.println("Collection created successfully");
DBCollection coll = db.getCollection("mycol");
System.out.println("Collection mycol selected successfully");
}catch(Exception e){
System.err.println( e.getClass().getName() + ": " + e.getMessage() );
}
}
}

যখন program টি compiled and executed হবে তখন এটি নিম্নরূপ ফলাফল দিবে-
Connect to database successfully
Authentication: true
Collection created successfully
Collection mycol selected successfully

Insert a document (একটি document প্রবেশ করণ):
-------------------------------------------------
mongodb তে একটি document কে প্রবেশ করাতে com.mongodb.DBCollection class এর
insert() পদ্ধতি ব্যাবহার করা হয়।

Code গুলি নিম্নরূপঃ
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 MongoDBJDBC{
public static void main( String args[] ){
try{
// To connect to mongodb server
MongoClient mongoClient = new MongoClient( "localhost" , 27017 );
// Now connect to your databases
DB db = mongoClient.getDB( "test" );
System.out.println("Connect to database successfully");
boolean auth = db.authenticate(myUserName, myPassword);
System.out.println("Authentication: "+auth);
DBCollection coll = db.getCollection("mycol");
System.out.println("Collection mycol selected successfully");
BasicDBObject doc = new BasicDBObject("title", "MongoDB").
append("description", "database").
append("likes", 100).
append("url", "http://www.tutorialspoint.com/mongodb/").
append("by", "tutorials point");
coll.insert(doc);
System.out.println("Document inserted successfully");
}catch(Exception e){
System.err.println( e.getClass().getName() + ": " + e.getMessage() );
}
}
}

যখন program টি compiled and executed হবে তখন এটি নিম্নরূপ ফলাফল দিবে-

Connect to database successfully
Authentication: true
Collection mycol selected successfully
Document inserted successfully

Retrieve all documents(document এর পুনরুদ্ধার করন):
-----------------------------------------------------
collection এর সকল document কে নির্বাচন করতে com.mongodb.DBCollection class এর
find() পদ্ধতি টি ব্যাবহার করা হয়। এই পদ্ধতি টি cursor কে বদলে দেয়, তাই আপনাকে তা পুনরুদ্ধার
করার প্রয়োজন পরবে।

Code গুলি নিম্নরূপঃ
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 MongoDBJDBC{
public static void main( String args[] ){
try{
// To connect to mongodb server
MongoClient mongoClient = new MongoClient( "localhost" , 27017 );
// Now connect to your databases
DB db = mongoClient.getDB( "test" );
System.out.println("Connect to database successfully");
boolean auth = db.authenticate(myUserName, myPassword);
System.out.println("Authentication: "+auth);
DBCollection coll = db.getCollection("mycol");
System.out.println("Collection mycol selected successfully");
DBCursor cursor = coll.find();
int i=1;
while (cursor.hasNext()) {
System.out.println("Inserted Document: "+i);
System.out.println(cursor.next());
i++;
}
}catch(Exception e){
System.err.println( e.getClass().getName() + ": " + e.getMessage() );
}
}
}

যখন program টি compiled and executed হবে তখন এটি নিম্নরূপ ফলাফল দিবে-

Connect to database successfully
Authentication: true
Collection mycol selected successfully
Inserted Document: 1
{
"_id" : ObjectId(7df78ad8902c),
"title": "MongoDB",
"description": "database",
"likes": 100,
"url": "http://www.tutorialspoint.com/mongodb/",
"by": "tutorials point"
}

Update document( document এর হালনাগাদ):
---------------------------------------------
collection থেকে document কে হালনাগাদ করার জন্য com.mongodb.DBCollection class
এর update() পদ্ধতি ব্যাবহার করা হয়।

Code গুলি নিম্নরূপঃ

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 MongoDBJDBC{
public static void main( String args[] ){
try{
// To connect to mongodb server
MongoClient mongoClient = new MongoClient( "localhost" , 27017 );
// Now connect to your databases
DB db = mongoClient.getDB( "test" );
System.out.println("Connect to database successfully");
boolean auth = db.authenticate(myUserName, myPassword);
System.out.println("Authentication: "+auth);
DBCollection coll = db.getCollection("mycol");
System.out.println("Collection mycol selected successfully");
DBCursor cursor = coll.find();
while (cursor.hasNext()) {
DBObject updateDocument = cursor.next();
updateDocument.put("likes","200")
col1.update(updateDocument);
}
System.out.println("Document updated successfully");
cursor = coll.find();
int i=1;
while (cursor.hasNext()) {
System.out.println("Updated Document: "+i);
System.out.println(cursor.next());
i++;
}
}catch(Exception e){
System.err.println( e.getClass().getName() + ": " + e.getMessage() );
}
}
}

যখন program টি compiled and executed হবে তখন এটি নিম্নরূপ ফলাফল দিবে-

Connect to database successfully
Authentication: true
Collection mycol selected successfully
Document updated successfully
Updated Document: 1
{
"_id" : ObjectId(7df78ad8902c),
"title": "MongoDB",
"description": "database",
"likes": 100,
"url": "http://www.tutorialspoint.com/mongodb/",
"by": "tutorials point"
}

Delete first document( প্রথম document মুছে ফেলা):
--------------------------------------------------
collection থেকে প্রথম document মুছে ফেলার জন্য প্রথমে com.mongodb.DBCollection class
এর findOne() পদ্ধতি এবং পরে remove পদ্ধতি ব্যাবহার করা হয়।

Code গুলি নিম্নরূপঃ
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 MongoDBJDBC{
public static void main( String args[] ){
try{
// To connect to mongodb server
MongoClient mongoClient = new MongoClient( "localhost" , 27017 );
// Now connect to your databases
DB db = mongoClient.getDB( "test" );
System.out.println("Connect to database successfully");
boolean auth = db.authenticate(myUserName, myPassword);
System.out.println("Authentication: "+auth);
DBCollection coll = db.getCollection("mycol");
System.out.println("Collection mycol selected successfully");
DBObject myDoc = coll.findOne();
col1.remove(myDoc);
DBCursor cursor = coll.find();
int i=1;
while (cursor.hasNext()) {
System.out.println("Inserted Document: "+i);
System.out.println(cursor.next());
i++;
}
System.out.println("Document deleted successfully");
}catch(Exception e){
System.err.println( e.getClass().getName() + ": " + e.getMessage() );
}
}
}

যখন program টি compiled and executed হবে তখন এটি নিম্নরূপ ফলাফল দিবে-
Connect to database successfully
Authentication: true
Collection mycol selected successfully
Document deleted successfully

mongodb এর বাকি পদ্ধতি যেমন save(), limit(), skip(), sort() একই ভাবে কাজ করে ।

Permanent link to this article: http://bangla.sitestree.com/mongodb-java/