Object (Document) (مستند متداخل)
آخر تحديث: 2026-10-09
Object (Document) (مستند متداخل)
Object مستند فرعي متداخل. تعشّش MongoDB بعمق غير محدود للنماذج ذات الوصف الذاتي. اقترب من الحقول المتداخلة عبر مسارات منقّطة، مقتسبةً في الاستعلامات، مثل `'profile.address.city'`. مثالي للبيانات واحد-لواحد (ملفات المستخدمين وعناوين الطلبات)؛ ورقّق البيانات المستعلم عنها أو النامية منفصلة إلى مجموعتها الخاصة.
| الفئة | أنواع BSON |
|---|---|
| إصدار MongoDB | 1.0+ |
| لغة المثال | mongosh (الطرفية) |
📝 الصيغة
{ profile: { name: "alice", address: { city: "beijing" } } }
db.users.find({ "profile.address.city": "beijing" })
القيمة المرجعة:المستند المتداخل نفسه؛ والاستعلامات تُرجع المستندات المطابقة
▶ مثال
نفّذ الأوامر التالية في mongosh المحلي لديك (يتطلب تشغيل mongod):
// Object: كتابة واستعلام مستند متداخل
use shop
db.users.insertOne({ profile: { name: 'alice', address: { city: 'beijing' } } })
db.users.find({ 'profile.address.city': 'beijing' })
المخرجات:
{ _id: ObjectId('...'), profile: { name: 'alice', address: { city: 'beijing' } } }
📌 ملاحظات
- المسارات المنقّطة تصل إلى الحقول المتداخلة؛ أفلت المفاتيح الحاوية على نقاط أو $
- ضمّن لواحد-لواحد؛ والمصفوفات أو المجموعات المنفصلة لواحد-إلى-متعدد
- $set يستبدل المستندات الفرعية بالكامل؛ المسارات المنقّطة تحدّث حقولًا مفردة
🏷️ وسوم ذات صلة
💡 حالات ذات صلة
مزيد من الحالات العملية قريبًا.
📚 دروس ذات صلة
❓ الأسئلة الشائعة
Qإلى أي عمق يمكن أن تتشابك المستندات؟
Aالحد الرسمي نحو 100 مستوى، ويقيده عمليًا حد المستند البالغ 16 ميجابايت أولًا.
Qأضمّن أم أستخدم مجموعة منفصلة؟
Aضمّن بيانات واحد-لواحد تُقرأ مع الأصل؛ ومجموعات منفصلة للبيانات النامية أو المستعلم عنها مستقلة.
Qكيف أستعلم عن الحقول المتداخلة؟
Aاستخدم مسارًا منقّطًا مقتسبًا: { 'profile.address.city': 'beijing' }.