English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
في هذا الفصل، سنتعلم كيفية إعداد MongoDB CLIENT.
قبل البدء في استخدام MongoDB في برنامج Java، يجب التأكد من إعداد 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 = <مخفي>, mechanismProperties = {}
لإنشاء مجموعة، استخدم طريقة createCollection () من فئة com.mongodb.client.MongoDatabase.
إليك قطعة من الكود لإنشاء المجموعة -
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("تم إنشاء مجموعة"); } }
عند التجميع، يقدم لك البرنامج التالي ما يلي-
تم الاتصال بنجاح بالقاعدة البيانات تم إنشاء المجموعة بنجاح
للحصول/اختيار مجموعة من قاعدة البيانات يجب استخدام طريقة getCollection () من فئة com.mongodb.client.MongoDatabase.
إليك برنامج الحصول/اختيار المجموعة -
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، يجب استخدام طريقة insert () من فئة com.MongoDB.client.MongoCollection.
以下是插入文档的代码片段-
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://ar.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://ar.oldtoolbag.com/mongodb/") .append("by", "oldtoolbag.com"); Document document2 = new Document("title", "RethinkDB") .append("description", "database") .append("likes", 200) .append("url", "http://ar.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://ar.oldtoolbag.com/mongodb/, by=oldtoolbag.com}}Document{{_id=5dce4e9ff68a9c2449e197b3, title=RethinkDB, description=database, likes=200, url=http://ar.oldtoolbag.com/rethinkdb/, by=oldtoolbag.com}}
لتحديث وثيقة من المجموعة، استخدمclass com.mongodb.client.MongoCollection
。
方法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://ar.oldtoolbag.com/mongodb/, by=oldtoolbag.com}}Document{{_id=5dce4e9ff68a9c2449e197b3, title=RethinkDB, description=database, likes=200, url=http://ar.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://ar.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
عمليةMongoDBothةsave ()، limit ()، skip ()، sort ()، وغيرها من الطرق الموضحة في الدروس اللاحقة.