Sobes.tech
Junior — Middle

MongoDB verilənlər bazasında müxtəlif kolleksiyalar arasında əlaqələr qurmaq mümkündürmü?

sobes.tech Süni İntellekt

AI-dan cavab

MongoDB-də ənənəvi əlaqələr yoxdur, eləcə də əlaqəli bazalarda olduğu kimi, lakin kolleksiyalar arasında əlaqələr iki əsas üsulla qurula bilər:

  1. Yerləşdirilmiş sənədlər (Embedded documents) — bir sənədi digərinin içərisinə yerləşdirmək. Bu, əlaqəli məlumatlar tez-tez birlikdə istifadə olunursa, əlverişlidir.

  2. İstinadlar (References) — bir sənəddə digər kolleksiyadan sənədlərin identifikatorlarını saxlamaq. Əlaqəli məlumatları əldə etmək üçün əlavə sorğular və ya $lookup əməliyyatı ilə toplama istifadə etmək lazımdır.

$lookup istifadə nümunəsi ilə "orders" və "customers" kolleksiyaları arasında əlaqə:

db.orders.aggregate([
  {
    $lookup: {
      from: "customers",
      localField: "customerId",
      foreignField: "_id",
      as: "customerInfo"
    }
  }
])

Beləliklə, MongoDB kolleksiyalar arasında əlaqələri dəstəkləyir, lakin onları əlaqəli RDBMS-lərdən fərqli şəkildə həyata keçirir.