Skip to content

ورقة غش أوامر MongoDB الشائعة

MongoDB هو نظام قاعدة بيانات مفتوح المصدر يعتمد على تخزين الملفات الموزعة وهو أحد أشهر قواعد بيانات NoSQL اليوم. تركز ورقة الغش هذه على العمليات الشائعة في mongosh CLI.

الاتصال والإدارة

الأمر الوصف
mongosh الاتصال بـ MongoDB على المنفذ المحلي
use <db_name> التبديل إلى قاعدة بيانات أو إنشاؤها
db عرض قاعدة البيانات الحالية
show dbs سرد جميع قواعد البيانات
show collections سرد جميع المجموعات في القاعدة الحالية
exit الخروج من Shell

عمليات المجموعات (DDL)

الأمر الوصف
db.createCollection("users") إنشاء مجموعة يدوياً
db.users.drop() حذف المجموعة المحددة
db.users.stats() عرض إحصائيات المجموعة
db.users.renameCollection("people") تغيير اسم المجموعة

عمليات المستندات (CRUD)

Insert

// إدراج المستندات
db.users.insertOne({ name: "Alice", age: 25 });
db.users.insertMany([{ name: "Bob" }, { name: "Charlie" }]);

Read

// استعلام عن المستندات
db.users.find().pretty(); 
db.users.find({ age: { $gt: 20 } }).sort({ age: 1 }).limit(10); 
db.users.findOne({ name: "Alice" }); 

Update

// تحديث المستندات
db.users.updateOne({ name: "Alice" }, { $set: { age: 26 } });
db.users.updateMany({ age: { $lt: 18 } }, { $set: { status: "minor" } });

Delete

// حذف المستندات
db.users.deleteOne({ _id: ObjectId("...") });
db.users.deleteMany({ status: "inactive" });

المعاملات الشائعة

Type Operator الوصف
مقارنة $gt, $gte, $lt, $lte, $ne أكبر من, أكبر من أو يساوي, أصغر من, أصغر من أو يساوي, لا يساوي
منطق $and, $or, $not, $nor و (And), أو (Or), ليس (Not), ليس هذا ولا ذاك
حقل $set, $unset, $inc, $rename تعيين قيمة, إزالة حقل, تحديث بالزيادة, إعادة تسمية حقل
مصفوفة $push, $pop, $pull, $addToSet إضافة, إخراج, إزالة المطابقات, إضافة فريدة

خط أنابيب التجميع

db.orders.aggregate([
  { $match: { status: "A" } },
  { $group: { _id: "$cust_id", total: { $sum: "$amount" } } },
  { $sort: { total: -1 } }
]);

إدارة الفهارس

الأمر الوصف
db.users.createIndex({ name: 1 }) إنشاء فهرس تصاعدي
db.users.createIndex({ email: 1 }, { unique: true }) إنشاء فهرس فريد
db.users.getIndexes() عرض جميع الفهارس
db.users.dropIndex("name_1") حذف الفهرس