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:
-
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.
-
İ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.