ورقة غش أوامر 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") |
حذف الفهرس |