یہ فصل وہ بیان کرتی ہے کہ Golang MongoDB میں دستاویز ڈیٹا کو کیسے اپ ڈیٹ کیا جاتا ہے۔
MongoDB کی طرف سے دعم کی جانے والی اپ ڈیٹ فنکشنز
- Collection.UpdateOne - ایک ڈیٹا کو اپ ڈیٹ کریں
- Collection.UpdateMany - ڈیٹا کو بیچوں میں اپ ڈیٹ کریں
- Collection.ReplaceOne - ڈیٹا کو بدلیں
ٹیسٹ ڈیٹا تیار کریں
کل کش کی coll کلیکشن میں ڈیٹا کا بیچ ڈالیں
docs := []interface{}{
bson.D{
{"item", "canvas"},
{"qty", 100},
{"size", bson.D{
{"h", 28},
{"w", 35.5},
{"uom", "سینٹی میٹر"},
}},
{"status", "A"},
},
// باقی ڈیٹا
}
result, err := coll.InsertMany(context.Background(), docs)
ایک ڈاکومینٹ اپ ڈیٹ کریں
result, err := coll.UpdateOne(
context.Background(), // کنٹیکسٹ پیرامیٹر حاصل کریں
bson.D{ // کوئیری کی معیار تقاضا کے لئے سیٹ کریں تاکہ دستاویز کو item=paper کے ساتھ تلاش کیا جا سکے
{"item", "paper"},
},
bson.D{ // اپ ڈیٹ ایکسپریشن سیٹ کریں
{"$set", bson.D{ // $set اوپریٹر استعمال کریں تازہ کاری کے مواد کو مرتب کرنے کے لئے
{"size.uom", "سینٹی میٹر"}, // size.uom کی قیمت کو سینٹی میٹر کریں
{"status", "P"}, // status کی قیمت کو P کریں
}},
{"$currentDate", bson.D{ // $currentDate اوپریٹر استعمال کریں تاکہ lastModified کے فیلڈ کی قیمت کو موجودہ وقت تک اپ ڈیٹ کریں
{"lastModified", true},
}},
},
)
ایک جدید فنکشن پر دستاویز کو مچ کریں اور پھر اس دستاویز کے مواد کو اپ ڈیٹ کریں۔
نوٹ: اگر آپ MongoDB سے واقف نہیں ہیں تو براہ کرم MongoDB ٹیوٹوریل پڑھیں۔
بلک میں دستاویزات تازہ کاری کریں
UpdateOne فنکشن کی بجائے، UpdateMany موافق معیار پر مبنی میل کرنے والے دستاویزات کو بلک میں تازہ کاری کرتا ہے۔
result, err := coll.UpdateMany(
context.Background(),
bson.D{ // سوال معیار تعین کریں، مقدار > 50
{"qty", bson.D{
{"$lt", 50},
}},
},
bson.D{ // تازہ کاری مواد تعین کریں
{"$set", bson.D{
{"size.uom", "cm"},
{"status", "P"},
}},
{"$currentDate", bson.D{
{"lastModified", true},
}},
},
)
ایک دستاویز کا مبادلہ کریں
تعیناتی معیار پر مبنی ایک مخصوص دستاویز کا سوال کریں اور دستاویز کی مواد کو مخصوص مواد کے ساتھ مبادلہ کریں۔
مشورہ: دستاویز کا مبادلہ مکمل مبادلہ ہوتا ہے، دستاویز کے مختلف فیلڈ کی قیمتوں کی جزوی تازہ کاری کا نہیں۔
result, err := coll.ReplaceOne(
context.Background(),
bson.D{ // سوال معیار تعین کریں، مصنوعہ=کاغذ
{"item", "paper"},
},
bson.D{ // نیا دستاویزی مواد تعین کریں
{"item", "paper"},
{"instock", bson.A{
bson.D{
{"warehouse", "A"},
{"qty", 60},
},
bson.D{
{"warehouse", "B"},
{"qty", 40},
},
}},
},
)
سب سے پہلے، سوال معیار پر مبنی کاغذ کی دستاویز تلاش کریں، پھر اسے نئے دستاویزی مواد سے مبادلہ کریں۔