آموزشگاه برنامه نویسی تحلیل داده
آموزشگاه برنامه نویسی تحلیل داده

آموزش join جدول (Collection) در پایگاه داده MongoDB با Node.js

دوره های مرتبط با این مقاله

آموزش join دو جدول (Collection) در MongoDB با Node.js:

MongoDB یک پایگاه داده رابطه ای (Relational Database) نیست،اما می توانید با استفاده از نقطه $lookup،یک اتصال چپ جدولی (left join) انجام داده و به وسیله یک فیلد،دو جدول را به هم متصل یا join کنید.
نقطه دسترسی $lookup،این امکان را فراهم می کند تا دو جدولی را که می خواهید به هم متصل (join) کرده را تعیین نموده و فیلدهایی نیز که باید با هم یکسان باشند را مشخص کنید.
برای درک بهتر مسئله،با یک مثال عملی،نحوه انجام کار را شرح می دهیم.
فرض کنید که دو جدول (یا Collection در MongoDB) با اطلاعات زیر،به نام “orders” و “products” دارید:

[
  { _id: 1, product_id: 154, status: 1 }
]
            

[
  { _id: 154, name: 'Chocolate Heaven' },
  { _id: 155, name: 'Tasty Lemons' },
  { _id: 156, name: 'Vanilla Dreams' }
]
            

سپس توسط کد زیر و توسط نقطه دسترسی $lookup،جدول “orders” را از طریق فیلد “product_id” به جدول “products” و فیلد “_id” آن متصل کرده ایم.
سپس نتایج حاصل از ترکیب دو جدول را در خروجی نمایش داده ایم:

var MongoClient = require('mongodb').MongoClient;
var url = "mongodb://127.0.0.1:27017/";

MongoClient.connect(url, function(err, db) {
  if (err) throw err;
  var dbo = db.db("mydb");
  dbo.collection('orders').aggregate([
    { $lookup:
       {
         from: 'products',
         localField: 'product_id',
         foreignField: '_id',
         as: 'orderdetails'
       }
     }
    ]).toArray(function(err, res) {
    if (err) throw err;
    console.log(JSON.stringify(res));
    db.close();
  });
});
            

کد فوق را در فایل "demo_mongodb_join.js" ذخیره کرده و با دستور زیر،آن را اجرا نمایید:

C:\Users\Your Name>node demo_mongodb_join.js
            

Node.js پس از اتصال (join) در جدول،اطلاعات زیر را در خروجی نشان خواهد داد:

[
  { "_id": 1, "product_id": 154, "status": 1, "orderdetails": [
    { "_id": 154, "name": "Chocolate Heaven" } ]
  }
]
            
  • 100
  •    0
  • تاریخ ارسال :   1398/04/19

دانشجویان گرامی اگر این مطلب برای شما مفید بود لطفا ما را در GooglePlus محبوب کنید
رمز عبور: tahlildadeh.com یا www.tahlildadeh.com
ارسال دیدگاه نظرات کاربران
شماره موبایل دیدگاه
عنوان پست الکترونیک

ارسال

آموزشگاه برنامه نویسی تحلیل داده
آموزشگاه برنامه نویسی تحلیل داده

تمامی حقوق این سایت متعلق به آموزشگاه تحلیل داده می باشد .