$geoWithin (داخل الشكل الهندسي)

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

$geoWithin (داخل الشكل الهندسي)

يجد $geoWithin المستندات التي يقع موقعها داخل شكل هندسي معين: $box (مستطيل)، $polygon (مضلع)، $center (دائرة مستوية)، $centerSphere (دائرة كروية)، أو $geometry (GeoJSON). `{ loc: { $geoWithin: { $box: [[0, 0], [10, 10]] } } }`. تُضمَّن نقاط الحدود؛ ويتطلب فهرس 2dsphere أو 2d.

الفئةالمكاني
إصدار MongoDB2.4+
لغة المثالmongosh (الطرفية)

📝 الصيغة

{ <location field>: { $geoWithin: { $geometry: <GeoJSON> } } }

⚙️ المعلمات

حقل الموضعالحقل الذي يخزّن الموقع.
الشكل الهندسي‏$box أو $polygon أو $center أو $centerSphere أو $geometry.

القيمة المرجعة:مؤشر المستندات المطابقة

▶ مثال

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

// $geoWithin: المتاجر داخل مستطيل
db.stores.find({
  loc: { $geoWithin: { $box: [[-73.98, 40.75], [-73.97, 40.76]] } }
})

// مضلع GeoJSON
db.stores.find({
  loc: { $geoWithin: { $geometry: { type: 'Polygon', coordinates: [[[0, 0], [0, 1], [1, 1], [1, 0], [0, 0]]] } } }
})

المخرجات:

// يُرجع المتاجر التي يقع موقعها داخل المستطيل أو المضلع

📌 ملاحظات

مزيد من الحالات العملية قريبًا.

📚 دروس ذات صلة

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

Qما الفرق بين $geoWithin و $near؟
A$geoWithin يختبر الاحتواء فقط ولا يرتب؛ بينما يُرجع $near النتائج مرتبة حسب المسافة.
Qهل يدعم $geoWithin الدوائر؟
Aنعم، يرسم $center دائرة مستوية و$centerSphere دائرة كروية.
Qهل الفهرس إلزامي لـ $geoWithin؟
Aنعم، فهرس 2dsphere أو 2d مطلوب إلزامًا.
Web-Tutorial.com

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

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

100%