এই অধ্যায়টি এনারক করা ডাকুমেন্ট তথ্যের আপডেট করার উপায় গুলির পরিচয় করায়।

মঙ্গোডিবি দ্বারা সমর্থিত আপডেট ফাংশন

  • Collection.UpdateOne - একটি অবস্থান সংশোধন করুন
  • Collection.UpdateMany - ব্যাচে তথ্য আপডেট করুন
  • Collection.ReplaceOne - তথ্য প্রতিস্থাপন করুন

টেস্ট ডেটা প্রস্তুত করুন

কলেকশনে একটি ব্যাচ তথ্য ঢুকান৷

docs := []interface{}{
	bson.D{
		{"item", "ক্যানভাস"},
		{"qty", ১০০},
		{"size", bson.D{
			{"h", ২৮},
			{"w", ৩৫.৫},
			{"uom", "সেঃমি"},
		}},
		{"status", "A"},
	},
	// অন্যান্য ডেটা প্রদান...
}
result, err := coll.InsertMany(context.Background(), ডকস)

একটি ডকুমেন্ট আপডেট করুন

result, err := coll.UpdateOne(
	context.Background(), // সংদর্ভ পরিমাণটি পান
	bson.D{ // ডকুমেন্ট টি ঢুকান৷ আইটেম = কাগজ
		{"item", "পেপার"},
	},
	bson.D{ // আপডেট অভিব্যাক্তি ঢুকান১
		{"$set", bson.D{ // আপডেট করতে $কোডকি স্বাগতাম৷
			{"size.uom", "সেঃমি"},  // মানের আদান প্রদান করুন size.uom এর 
			{"status", "P"}, // অবস্থা পরিবর্তন করুন P তে
		}},
		{"$currentDate", bson.D{  // $ বর্তমান দিনের ব্যবহার অভিব্যাক্তি ঢুকান৷ $কোডকি ব্যবহার করুন lastModified বর্তমান সময় মানে আপডেট করতে
			{"lastModified", true},
		}},
	},
)

একটি প্রশ্সান্ডৱাদ করুন অভিব্যাক্তির ভিত্তিতে একটি ডকুমেন্ট মিলান৷

টিপ: আপনি যদি মঙ্গো ডিবি সম্পর্কে পরিচিতা না থাকেন, তাহলে MongoDB tutorial পড়ুন।

বালিকা ডকুমেন্ট সম্পূর্ণ করুন

UpdateOne ফাংশন থেকে UpdateMany এর পাল্টান। এটি ম্যাচিং ক্রাইটেরিয়া ভিত্তিতে ম্যাচিং ডকুমেন্টগুলি একত্রে আপডেট করে।

result, err := coll.UpdateMany(
	context.Background(),
	bson.D{ // কুয়ারি ক্রাইটেরিয়া সেট করুন, qty > 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
		{"item", "paper"},
	},
	bson.D{ // নতুন ডকুমেন্ট কন্টেন্ট সেট করুন
		{"item", "paper"},
		{"instock", bson.A{
			bson.D{
				{"warehouse", "A"},
				{"qty", 60},
			},
			bson.D{
				{"warehouse", "B"},
				{"qty", 40},
			},
		}},
	},
)

প্রথমে কুয়ারি ক্রাইটেরিয়া ভিত্তিতে, item=paper সহ ডকুমেন্টটি সন্ধান করুন, এবং তারপরে তাকে নতুন ডকুমেন্ট কন্টেন্ট দিয়ে প্রতিস্থাপন করুন।