اس باب میں ہم مانگو ڈی بی کے دستاویز ڈیٹا کی بیچ تصحیح (بلک ورائٹ) کی بات کریں گے۔ یہاں، بلک ورائٹ عمل نہ صرف سابقہ بابوں میں ذکر کردہ دستاویز کی بیچ تازہ کاری کو بلکل کرنے کے لیے ہے، بلکہ یہ ڈاکومنٹ داخلہ، تازہ کاری اور حذف جیسے مختلف لکیروں کو بھی دموکری کرنے کی حمایت کرتا ہے۔
بلک ورائٹ فنکشن مانگو شیل میں بلک تصحیح کیلئے استعمال ہوتا ہے۔
مشورہ: بلک عملیات عموماً بلک ڈیٹا ہم آہنگی کی ضرورت والے مناظر میں استعمال ہوتے ہیں۔
بلک ورائٹ فنکشن کی طرف سے حمایت کردہ تصحیح عملیات
بلک عملیات مندرجہ زیل تصحیح عملیات کے مناسب تراکیب کی حمایت کرتے ہیں:
- insertOne - ایک ڈاکومینٹ داخل کریں
- updateOne - ایک ڈاکومینٹ کو تازہ کریں
- updateMany - مختلف ڈاکومینٹس کو تازہ کرنے کیلئے بلک
- replaceOne - ایک ڈاکومینٹ کی جگہ لیں
- deleteOne - ایک ڈاکومینٹ کو حذف کریں
- deleteMany - مختلف ڈاکومینٹس کو حذف کرنے کیلئے بلک
نحو فارمیٹ
db.collection.bulkWrite(
[ <عمل 1>, <عمل 2>, ... ],
)
تشریح:
- operation - تصحیح عمل کی تشکیل کو ظاہر کرتا ہے
- bulkWrite ایک ترتیب تصحیح عملات کی ایک اشتہار قبول کرتا ہے۔
مثال
یہاں ایک مکمل مثال ہے جو ڈاکومینٹ تصحیح عملات کی ایک سیٹ کی بھرپور اجراء کی دکھاتی ہے۔
db.inventory.bulkWrite(
[
// ایک ڈاکومنٹ داخل کریں
{ insertOne :
{
// ڈاکومینٹ کی مواد
"document" :
{
"_id" : 4, "char" : "Dithras", "class" : "barbarian", "lvl" : 4
}
}
},
{ insertOne :
{
"document" :
{
"_id" : 5, "char" : "Taeln", "class" : "fighter", "lvl" : 3
}
}
},
// ایک ڈاکومینٹ تازہ کریں، updateMany مختلف ڈاکومینٹس کو تازہ کرنے کے لیے مشابہ ہے
{ updateOne :
{
// تازہ کرنے کی شرط
"filter" : { "char" : "Eldon" },
// تازہ کرنے کی مواد
"update" : { $set : { "status" : "Critical Injury" } }
}
},
// ایک ڈاکومینٹ حذف کریں، deleteMany مختلف ڈاکومینٹس حذف کرنے کے لیے مشابہ ہے
{ deleteOne :
// حذف کی شرط
{ "filter" : { "char" : "Brisbane" } }
},
// ایک ڈاکومینٹ کی جگہ لیں
{ replaceOne :
{
// جگہ لینے کی شرط
"filter" : { "char" : "Meldane" },
// جگہ لینے کی مواد
"replacement" : { "char" : "Tanys", "class" : "oracle", "lvl" : 4 }
}
}
]
);