String (نص)

آخر تحديث: 2026-10-09

String (نص)

String هو أكثر أنواع الحقول شيوعًا في MongoDB، ويحمل نص UTF-8. طابقه تمامًا بـ `$eq` أو بالنمط بـ `$regex`؛ أما البحث النصي الكامل فيحتاج فهرس نص (text index) مع `$text`. تخزين الأرقام أو التواريخ كسلاسل يجعل استعلامات النطاق والترتيب معجميًا وليس رقميًا ('9' ترتّب بعد '10')، ما يكسر النتائج بصمت.

الفئةأنواع BSON
إصدار MongoDB1.0+
لغة المثالmongosh (الطرفية)

📝 الصيغة

{ name: "apple" }
{ name: { $regex: "^app" } }
db.articles.find({ $text: { $search: "mongodb" } })

القيمة المرجعة:قيمة النص نفسها؛ والاستعلامات تُرجع المستندات المطابقة

▶ مثال

نفّذ الأوامر التالية في mongosh المحلي لديك (يتطلب تشغيل mongod):

// String: البحث بالتعبير النمطي وبالبحث النصي الكامل
use shop
db.users.find({ email: { $regex: '@example\\.com$' } })
db.articles.find({ $text: { $search: 'mongodb indexing' } })

المخرجات:

// المستخدمون الذين تنتهي بريدهم الإلكتروني بـ @example.com، إضافة إلى المقالات المطابقة لـ mongodb/indexing

📌 ملاحظات

📚 دروس ذات صلة

❓ الأسئلة الشائعة

Qمتى أستخدم String مقابل ObjectId؟
Aاستخدم String للمعرّفات التجارية (معرّفات خارجية وأرقام طلبات)؛ وObjectId عندما تريد معرّفات فريدة تلقائيًا مرتبة زمنيًا.
Qهل يمكنني فهرسة حقول سلاسل؟
Aنعم. فهارس عادية للمساواة/النطاق، وفهارس نصية للبحث النصي الكامل.
Qلماذا تكون '9' أكبر من '10'؟
Aتقارن السلاسل حرفًا بحرف؛ لـ '9' نقطة رمز أكبر من '1'، لذا ترتّب '9' بعد '10'.
Web-Tutorial.com

فريق Web-Tutorial التقني

منصة دروس برمجية يديرها عدة مطورين. كل درس يتم كتابته ومراجعته بواسطة مطورين متخصصين في المجال. نعمل على ضمان دقة وموثوقية المحتوى — إذا لاحظت أي مشكلة، فيرجى إخبارنا.

100%