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

آموزش مرتب کردن نتایج جستجو ( Sort ) در پایگاه داده MongoDB Node.js

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

آموزش مرتب کردن نتایج جستجو ( Sort ) در MongoDB :

از متد sort() در Node.js، برای مرتب کردن نتایج جستجو اطلاعات از پایگاه داده MongoDB، به صورت صعودی ( ascending ) یا نزولی ( descending ) استفاده می شود.
متد sort()، یک پارامتر دریافت می کند که نحوه مرتب سازی اطلاعات را به صورت صعودی یا نزولی مشخص می کند.

مثال عملی :

مثال عملی : در کد مثال زیر، به پایگاه داده "mydb" متصل شده ایم. سپس الگوی مرتب سازی را بر حسب فیلد name و جهت صعودی ( مقدار 1 ) در متغیر "mysort" تعیین نموده ایم.
در مرحله بعد، با استفاده از متد sort()، نتایج حاصل از جستجو در جدول "customers" را در خروجی مرتب کرده ایم :

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

MongoClient.connect(url, function(err, db) {
  if (err) throw err;
  var dbo = db.db("mydb");
  var mysort = { name: 1 };
  dbo.collection("customers").find().sort(mysort).toArray(function(err, result) {
    if (err) throw err;
    console.log(result);
    db.close();
  });
});
            

کد فوق را در فایل "demo_sort.js" ذخیره کرده و سپس توسط دستور زیر، اجرا نمایید :

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

برنامه پس از اجرای موفقیت آمیز دستور فوق، خروجی مرتب شده زیر را تولید می کند :

[
  { _id: 58fdbf5c0ef8a50b4cdd9a86, name: 'Amy', address: 'Apple st 652'},
  { _id: 58fdbf5c0ef8a50b4cdd9a8e, name: 'Ben', address: 'Park Lane 38'},
  { _id: 58fdbf5c0ef8a50b4cdd9a8a, name: 'Betty', address: 'Green Grass 1'},
  { _id: 58fdbf5c0ef8a50b4cdd9a90, name: 'Chuck', address: 'Main Road 989'},
  { _id: 58fdbf5c0ef8a50b4cdd9a87, name: 'Hannah', address: 'Mountain 21'},
  { _id: 58fdbf5c0ef8a50b4cdd9a84, name: 'John', address: 'Highway 71'},
  { _id: 58fdbf5c0ef8a50b4cdd9a88, name: 'Michael', address: 'Valley 345'},
  { _id: 58fdbf5c0ef8a50b4cdd9a85, name: 'Peter', address: 'Lowstreet 4'},
  { _id: 58fdbf5c0ef8a50b4cdd9a8b, name: 'Richard', address: 'Sky st 331'},
  { _id: 58fdbf5c0ef8a50b4cdd9a89, name: 'Sandy', address: 'Ocean blvd 2'},
  { _id: 58fdbf5c0ef8a50b4cdd9a8c, name: 'Susan', address: 'One way 98'},
  { _id: 58fdbf5c0ef8a50b4cdd9a8d, name: 'Vicky', address: 'Yellow Garden 2'},
  { _id: 58fdbf5c0ef8a50b4cdd9a91, name: 'Viola', address: 'Sideway 1633'},
  { _id: 58fdbf5c0ef8a50b4cdd9a8f, name: 'William', address: 'Central st 954'}
]
            

آموزش مرتب کردن نتایج جستجو به صورت نزولی در MongoDB :

اگر مقدار -1 را برای فیلد مورد نظر جهت مرتب سازی اطلاعات، در متد sort() به کار ببریم، اطلاعات به صورت از پایین به بالا یا نزولی ( descending ) مرتب می شوند.

نکته :

نکته : با به کار بردن مقدار 1 برای فیلد مرتب کننده، اطلاعات به صورت صعودی و با مقدار -1 ، اطلاعات به صورت نزولی مرتب می شوند.
{ name : 1 } // صعودی
{ name : -1 } // نزولی

مثال عملی :

مثال عملی : کد مثال بخش قبلی را باز نویسی کرده و این بار مقدار -1 را برای فیلد name تعیین کرده ایم. در این حالت، اطلاعات به صورت نزولی ( descending ) و بر حسب فیلد name مرتب می شوند :

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

MongoClient.connect(url, function(err, db) {
  if (err) throw err;
  var dbo = db.db("mydb");
  var mysort = { name: -1 };
  dbo.collection("customers").find().sort(mysort).toArray(function(err, result) {
    if (err) throw err;
    console.log(result);
    db.close();
  });
});
            

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

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

برنامه پس از اجرای موفقیت آمیز کد فوق ، خروجی زیر را تولید می کند :

[
  { _id: 58fdbf5c0ef8a50b4cdd9a8f, name: 'William', address: 'Central st 954'},
  { _id: 58fdbf5c0ef8a50b4cdd9a91, name: 'Viola', address: 'Sideway 1633'},
  { _id: 58fdbf5c0ef8a50b4cdd9a8d, name: 'Vicky', address: 'Yellow Garden 2'},
  { _id: 58fdbf5c0ef8a50b4cdd9a8c, name: 'Susan', address: 'One way 98'},
  { _id: 58fdbf5c0ef8a50b4cdd9a89, name: 'Sandy', address: 'Ocean blvd 2'},
  { _id: 58fdbf5c0ef8a50b4cdd9a8b, name: 'Richard', address: 'Sky st 331'},
  { _id: 58fdbf5c0ef8a50b4cdd9a85, name: 'Peter', address: 'Lowstreet 4'},
  { _id: 58fdbf5c0ef8a50b4cdd9a88, name: 'Michael', address: 'Valley 345'},
  { _id: 58fdbf5c0ef8a50b4cdd9a84, name: 'John', address: 'Highway 71'},
  { _id: 58fdbf5c0ef8a50b4cdd9a87, name: 'Hannah', address: 'Mountain 21'},
  { _id: 58fdbf5c0ef8a50b4cdd9a90, name: 'Chuck', address: 'Main Road 989'},
  { _id: 58fdbf5c0ef8a50b4cdd9a8a, name: 'Betty', address: 'Green Grass 1'},
  { _id: 58fdbf5c0ef8a50b4cdd9a8e, name: 'Ben', address: 'Park Lane 38'},
  { _id: 58fdbf5c0ef8a50b4cdd9a86, name: 'Amy', address: 'Apple st 652'}
]
            
  • 35
  •    0
  • تاریخ ارسال :   1398/04/12

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

ارسال

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

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