MongoDB ترتیب دیں سوالات کے نتائج

Mongodb Trtyb Dy Swalat K Ntayj



تقریباً تمام ڈیٹا بیس سسٹم ڈیٹا کو بازیافت کرنے سے پہلے چھانٹنے کو ترجیح دیتے ہیں، جو انہیں ڈیٹا ذخیرہ کرنے کے دیگر طریقوں سے الگ کرتا ہے۔ MongoDB کے پاس ڈیٹا کو ترتیب دینے کے طریقے کا تعین کرنے کے مختلف طریقے بھی ہیں۔ زیادہ تر، ہم اس ترتیب کا تعین کرنے کے لیے sort() طریقہ استعمال کرتے ہیں جس میں دستاویز ظاہر ہوتی ہے۔ ترتیب کی ترتیب کو sort() طریقہ کار کے پیرامیٹر کے طور پر منتقل کیا جاتا ہے۔ ایک یا زیادہ فیلڈز جو sort() طریقہ تحریر کرتے ہیں ان کے بعد یا تو قدر '1' یا '-1' ہوتی ہے۔ sort() طریقہ استفسار کو مزید پڑھنے کے قابل بناتا ہے، جو ایک مخصوص مجموعہ کی سمجھ کو بہتر بناتا ہے۔

MongoDB سوال کے نتائج کو کیسے ترتیب دیتا ہے؟

ترتیب دینے کا طریقہ فیلڈ اور اس سے وابستہ قدر کو ایک پیرامیٹر کے طور پر لیتا ہے۔ ترتیب دینے کا طریقہ JSON فارمیٹ میں پیرامیٹرز کو قبول کرتا ہے جیسے {فیلڈ: ویلیو}۔ مجموعہ سے ترتیب شدہ دستاویزات حاصل کرنے کے لیے sort() طریقہ کار میں متعدد فیلڈز اور قدریں بھی ڈالی جا سکتی ہیں۔ درج ذیل دستاویز پر غور کریں جس میں ہم نے اپنے ڈیٹا بیس میں بہت سی دوسری دستاویزات داخل کی ہیں۔ اس MongoDB ڈیٹا بیس کا نام 'ملازمین' ہے۔ 'ملازمین' کے مجموعے میں ملازمین کی تمام معلومات ذیل میں دکھائی گئی ہیں۔

db.Employees.insertMany([
{
'نام': 'رابرٹ'
'DOB': '14-05-1993'،
'جنس لڑکا'،
'email': ' [ای میل محفوظ] '،
'محکمہ': 'سیکورٹی'،
'تنخواہ': 5000

{
'نام': 'کائل'،
'DOB': '31-05-1999'،
'جنس': 'عورت'،
'email': ' [ای میل محفوظ] '،
'department': 'IT'،
تنخواہ: 6200

{
'نام': 'میتھیو'
'DOB': '26-04-1993'،
'جنس لڑکا'،
'email': ' [ای میل محفوظ] '،
'محکمہ': 'اکاؤنٹس'،
'تنخواہ': 3500

{
'نام': 'کیون'،
'DOB': '14-07-1991'،
'جنس لڑکا'،
'email': ' [ای میل محفوظ] '،
'محکمہ': 'سیکیورٹی'،
'تنخواہ': 4500


{
'نام': 'جولیا'،
'DOB': '09-12-2000'
'جنس': 'عورت'،
'email': ' [ای میل محفوظ] '،
'department': 'IT'،
'تنخواہ': 2500
}
])

مجموعہ 'ملازم' کو فراہم کردہ دستاویزات کے ساتھ داخل کیا گیا ہے جس کی تصدیق درج ذیل آؤٹ پٹ میں دکھائی گئی ہے۔ ہم ترتیب کے استفسار کے نتائج کی فعالیت کو دکھانے کے لیے اس مجموعہ دستاویز کو استعمال کرنے جا رہے ہیں۔









مثال # 1: MongoDB غیر ترتیب شدہ مجموعہ

جب تلاش کے استفسار کو find() طریقہ کے ساتھ انجام دیا جاتا ہے، تو یہ ہمیشہ دستاویزات کا غیر ترتیب شدہ مجموعہ فراہم کرتا ہے۔ یہ ذیل میں فراہم کردہ استفسار کے نتائج سے واضح ہو سکتا ہے۔



>db.Employees.find({},{_id:0})

یہاں، ہمارے پاس find() طریقہ کے ساتھ 'Employee' کلیکشن کا سوال ہے۔ find() طریقہ '_id:0' کے ساتھ خالی پیرامیٹر لیتا ہے۔ ایک آسان نتیجہ کے لیے، دستاویز کی ID کو '_id:0' آپریٹر کا استعمال کرتے ہوئے ہٹا دیا جاتا ہے۔ بطور ڈیفالٹ، جب تلاش () طریقہ کے ساتھ استفسار کو تلاش کیا جاتا ہے تو ہم غیر ترتیب شدہ مجموعے حاصل کرتے ہیں۔ ذیل میں جو آؤٹ پٹ حاصل کیا گیا ہے وہ تمام غیر ترتیب شدہ دستاویزات ہیں جس طرح ہمارے پاس اندراج کے وقت موجود ہیں۔





مثال نمبر 2: MongoDB ترتیب کے سوال کے نتائج کو صعودی ترتیب میں

MongoDB میں ترتیب شدہ مجموعہ sort() طریقہ استعمال کرکے حاصل کیا جاتا ہے جسے find() طریقہ کے بعد رکھا جانا چاہیے۔ MongoDB میں sort() طریقہ پیرامیٹر لیتا ہے جو فیلڈ کے نام اور دستاویز کو ترتیب دینے کی ترتیب کے ساتھ شامل ہوتا ہے۔ ہمیں فیلڈ میں پیرامیٹر کے طور پر '1' داخل کرنے کی ضرورت ہے کیونکہ ہم اس خاص مثال میں دستاویزات کو صعودی ترتیب میں بازیافت کریں گے۔ ترتیب کے سوال میں درج ذیل کا نتیجہ صعودی ترتیب میں ہوتا ہے۔



>db.Employees.find().sort({name:1})

یہاں، ہم نے تلاش کے سوال کے بعد sort() طریقہ استعمال کیا ہے۔ sort() طریقہ استعمال کیا جاتا ہے فیلڈ 'نام' کو صعودی ترتیب میں ترتیب دینے کے لیے کیونکہ قدر '1' کو مخصوص فیلڈ کے آگے رکھا جاتا ہے۔ نوٹ کریں کہ اگر sort() طریقہ کسی بھی پیرامیٹرک قدر کے ساتھ متعین نہیں ہے تو مجموعہ کو ترتیب نہیں دیا جائے گا۔ sort() طریقہ سے آؤٹ پٹ پہلے سے طے شدہ ترتیب میں حاصل کیا جائے گا۔ صعودی ترتیب میں نام فیلڈ کے لحاظ سے sort() طریقہ کے نتائج درج ذیل MongoDB شیل میں دکھائے جاتے ہیں۔

مثال #3: MongoDB ترتیب نزولی ترتیب میں سوالات کے نتائج

اب، ہم MongoDB کے ترتیب کے سوال کے نتائج کو نزولی ترتیب میں دکھا رہے ہیں۔ اس قسم کا استفسار اوپر دی گئی مثال کی طرح ہے لیکن ایک فرق کے ساتھ۔ نزولی ترتیب کے لیے، sort() طریقہ کالم کے نام کے مقابلے میں '-1' کی قدر لیتا ہے۔ نزولی ترتیب میں ترتیب کے سوال کے نتائج ذیل میں دیئے گئے ہیں۔

>db.Employees.find({},{'email':1,_id:0}).sort({'email':-1})

یہاں، تلاش کا استفسار find() طریقہ سے شروع ہوتا ہے جو فیلڈ 'ای میل' کو تلاش کرتا ہے اور صرف فیلڈ 'ای میل' کی اقدار کو لوٹاتا ہے۔ اس کے بعد، ہم نے sort() طریقہ بیان کیا ہے جو 'ای میل' فیلڈ کو ترتیب دینے کے لیے استعمال کیا جاتا ہے، اور اس کے ساتھ والی قدر '-1' ظاہر کرتی ہے کہ چھانٹی کے حاصل کردہ نتائج نزولی ترتیب میں ہوں گے۔ نزولی ترتیب کے استفسار کے نتائج اسے MongoDB شیل میں انجام دینے کے بعد حاصل کیے جاتے ہیں۔

مثال # 4: ایک سے زیادہ فیلڈز کے لیے MongoDB ترتیب کے سوالات کے نتائج

ہم sort() طریقہ کے ساتھ MongoDB میں متعدد فیلڈز کو ترتیب دے سکتے ہیں۔ چھانٹنے والے فیلڈز کا اعلان sort() طریقہ میں کیا جانا چاہیے۔ چھانٹنا فیلڈز کے ڈیکلریشن آرڈر پر مبنی ہے اور ترتیب کی ترتیب کو بائیں سے دائیں جانچا جاتا ہے۔ متعدد فیلڈز کو ترتیب دینے کے لیے استفسار اس طرح نظر آنا چاہیے:

>db.Employees.find({},{_id:0}).sort({'name':1,'salary':1})

یہاں، sort() طریقہ کو 'نام' اور 'تنخواہ' کے شعبوں کے ساتھ ترتیب دیا جاتا ہے۔ 'Employee' کلیکشن سے فیلڈ 'نام' کو پہلے ترتیب دیا گیا ہے کیونکہ یہ sort() طریقہ کا پہلا دلیل والا فیلڈ ہے۔ پھر، sort() طریقہ دوسرے دلیل والے فیلڈ 'تنخواہ' کو ترتیب دیتا ہے۔ دونوں فیلڈز کی ترتیب '1' ہے جو ظاہر کرتی ہے کہ ترتیب صعودی ترتیب میں ہوگی۔ ترتیب کے استفسار کے متعدد فیلڈز کے لیے آؤٹ پٹ نیچے دیے گئے مخصوص ترتیب میں تیار ہوتا ہے۔

مثال نمبر 5: MongoDB ترتیب کے طریقے کے ساتھ سوال کے نتائج کو ترتیب دیں۔

مزید برآں، sort() طریقہ بھی limit() طریقہ کے ساتھ مل سکتا ہے جو اس تلاش کے استفسار کے مطابق ترتیب شدہ دستاویزات کی محدود تعداد فراہم کرتا ہے۔ limit() طریقہ کار کو پیرامیٹر کے طور پر ایک عدد عدد کی ضرورت ہوتی ہے، جو ان دستاویزات کی تعداد کو محدود کرتا ہے جنہیں آؤٹ پٹ سیٹ میں شامل کیا جانا چاہیے۔ تلاش کا سوال ذیل میں ترتیب دیا گیا ہے جو پہلے دستاویز کو ترتیب دیتا ہے اور پھر مخصوص حد کے دستاویزات فراہم کرتا ہے۔

>db.Employees.find({},{_id:0}).sort({'department':1,'DOB':1}).limit(4).pretty()

یہاں، ہمارے پاس سرچ استفسار ہے جو 'ڈپارٹمنٹ' کالم کے لیے ترتیب دینے کا عمل شروع کرتا ہے اور پھر 'DOB' کالم کے لیے صعودی ترتیب میں sort() طریقہ استعمال کرتے ہوئے۔ چھانٹی مکمل ہونے کے بعد، ہم نے محدود دستاویز کی بازیافت کے لیے اس کے آگے limit() طریقہ رکھ دیا ہے۔ حد () طریقہ کو ایک عددی قدر '4' دی گئی ہے جس کا مطلب ہے کہ یہ صرف چار ترتیب شدہ دستاویزات کو آؤٹ پٹ میں دکھاتا ہے جیسا کہ درج ذیل اسکرین میں دکھایا گیا ہے۔

مثال #6: $sort ایگریگیشن کے ساتھ MongoDB ترتیب دیں سوالات کے نتائج

اوپر دی گئی تمام مثالوں میں، ہم نے مونگو ڈی بی کے sort() طریقہ کے ذریعے چھانٹی کی ہے۔ MongoDB میں چھانٹنے کا ایک اور طریقہ ہے جو $sort جمع کے ذریعے پورا ہوتا ہے۔ $sort آپریٹر تمام ان پٹ دستاویزات کو ترتیب دیتا ہے جو پھر ترتیب شدہ دستاویزات کو پائپ لائن میں واپس کرتا ہے۔ $sort آپریٹر کا اطلاق ذیل میں 'ملازمین' کے مجموعہ پر ہوتا ہے۔

db.Employees.aggregate([ { $sort : { تنخواہ : 1, _id: -1 } } ])

یہاں، ہم نے مجموعی طریقہ بتایا ہے جس کے اندر ہم '$sort' آپریٹر کو استعمال کر سکتے ہیں۔ پھر، ہمارے پاس $sort آپریٹر اظہار ہے جو 'تنخواہ' کالم کو صعودی ترتیب میں اور 'id' کالم کو نزولی ترتیب میں ترتیب دیتا ہے۔ فیلڈ پر لاگو کردہ $sort جمع درج ذیل نتائج برآمد کرتا ہے:

مثال نمبر 6: MongoDB چھانٹیں سوال کے نتائج کو چھوڑنے کے طریقے کے ساتھ

sort() طریقہ کو skip() طریقہ کے ساتھ بھی جوڑا جا سکتا ہے۔ نتیجہ خیز ڈیٹاسیٹ میں دستاویزات کی ایک خاص تعداد ہو سکتی ہے جنہیں skip() طریقہ استعمال کرتے ہوئے نظر انداز کر دیا جائے گا۔ حد () طریقہ کی طرح، skip() طریقہ عددی قدر کو بھی قبول کرتا ہے جو کہ چھوڑے جانے والے دستاویزات کی تعداد کی نشاندہی کرتا ہے۔ ہم نے sort() طریقہ کو skip() طریقہ کے ساتھ sort query میں ملایا ہے۔

>db.Employees.find({},{_id:0}).sort({'salary':1}).skip(4).pretty()

یہاں، ہم نے sort() طریقہ کے آگے skip() طریقہ استعمال کیا ہے۔ جب sort() طریقہ دستاویزات کو ترتیب دیتا ہے تو یہ ترتیب دینے والی آؤٹ پٹ کو sort() طریقہ میں منتقل کرتا ہے۔ اس کے بعد، skip() طریقہ نے پہلے چار ترتیب شدہ دستاویزات کو مجموعہ سے ہٹا دیا۔

نتیجہ

مضمون MongoDB میں ترتیب کے سوال کے نتائج کے بارے میں ہے۔ ہم نے اس مقصد کے لیے sort() طریقہ استعمال کیا ہے جو ریکارڈز کو ایک مخصوص ترتیب میں ترتیب دیتا ہے۔ ہم نے کئی فیلڈز میں ایک سے زیادہ چھانٹنے کے لیے sort() طریقہ بھی استعمال کیا ہے۔ اس کے بعد sort() طریقہ کو ان آپریشنز کا استعمال کرتے ہوئے ترتیب شدہ دستاویزات کے ساتھ حد() اور skip() طریقوں کے ساتھ جوڑا جاتا ہے مزید برآں، ہم نے MongoDB میں ترتیب کے سوال کے نتائج کے لیے $sort جمع فراہم کیا ہے۔