यह अध्याय यह बताता है कि 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", "cm"},
		}},
		{"status", "A"},
	},
	// शेष डेटा यहां डालें...
}

result, err := coll.InsertMany(context.Background(), docs)

एक दस्तावेज़ अद्यतन करें

result, err := coll.UpdateOne(
	context.Background(), // संदर्भ पैरामीटर प्राप्त करें
	bson.D{ // डॉक्स: अपडेट करने वाले फ़ील्ड की सामान्य शोध के लिए क्वेरी मानों को सेट करें
		{"item", "paper"},
	},
	bson.D{ // अपड
## दस्तावेज़ थोक में अपडेट करें

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 {"item", "paper"}, }, bson.D{ // नए दस्तावेज़ सामग्री सेट करें {"item", "paper"}, {"instock", bson.A{ bson.D{ {"warehouse", "A"}, {"qty", 60}, }, bson.D{ {"warehouse", "B"}, {"qty", 40}, }, }}, }, )

सबसे पहले, क्वेरी मानदंड के आधार पर, item=paper वाले दस्तावेज़ को खोजें, और फिर उसे नए दस्तावेज़ सामग्री से बदलें।