MongoDB
 sql >> डेटाबेस >  >> NoSQL >> MongoDB

MongoDB संग्रह में फ़ील्ड का नाम बदलें

MongoDB में, आप किसी संग्रह में दस्तावेज़ अपडेट करते समय एक फ़ील्ड का नाम बदल सकते हैं।

किसी फ़ील्ड का नाम बदलने के लिए, $rename . पर कॉल करें क्षेत्र के वर्तमान नाम और नए नाम के साथ ऑपरेटर। यह उन सभी मेल खाने वाले दस्तावेज़ों में फ़ील्ड का नाम बदल देता है जिनमें उस नाम वाली फ़ील्ड होती है।

उदाहरण

मान लीजिए हमारे पास employees . नामक संग्रह है निम्नलिखित दस्तावेजों के साथ:

{ "_id" : 1, "name" : "Sandy", "salary" : 55000 }
{ "_id" : 2, "name" : "Sarah", "salary" : 128000 }
{ "_id" : 3, "name" : "Fritz", "salary" : 25000 }
{ "_id" : 4, "name" : "Chris", "salary" : 45000 }
{ "_id" : 5, "name" : "Beck", "salary" : 82000 }

और मान लीजिए हम name . का नाम बदलना चाहते हैं employees . के लिए फ़ील्ड ।

हम यह कर सकते हैं:

db.employees.updateMany( 
  { }, 
  { $rename: { "name": "employee" } } 
)

आउटपुट:

{ "acknowledged" : true, "matchedCount" : 5, "modifiedCount" : 5 }

अब जब हम find() . का उपयोग करते हैं संग्रह में दस्तावेजों को वापस करने की विधि, हम निम्नलिखित परिणाम देखते हैं:

db.employees.find()

परिणाम:

{ "_id" : 1, "salary" : 55000, "employee" : "Sandy" }
{ "_id" : 2, "salary" : 128000, "employee" : "Sarah" }
{ "_id" : 3, "salary" : 25000, "employee" : "Fritz" }
{ "_id" : 4, "salary" : 45000, "employee" : "Chris" }
{ "_id" : 5, "salary" : 82000, "employee" : "Beck" }

एकाधिक फ़ील्ड का नाम बदलें

आप कई फ़ील्ड को अल्पविराम से अलग करके उनका नाम बदल सकते हैं।

उदाहरण:

db.employees.updateMany( 
  { }, 
  { $rename: { "employee": "e", "salary": "s" } } 
)

आउटपुट:

{ "acknowledged" : true, "matchedCount" : 5, "modifiedCount" : 5 }

और अब यह संग्रह कैसा दिखता है:

{ "_id" : 1, "e" : "Sandy", "s" : 55000 }
{ "_id" : 2, "e" : "Sarah", "s" : 128000 }
{ "_id" : 3, "e" : "Fritz", "s" : 25000 }
{ "_id" : 4, "e" : "Chris", "s" : 45000 }
{ "_id" : 5, "e" : "Beck", "s" : 82000 }

एम्बेडेड दस्तावेज़

एम्बेड किए गए दस्तावेज़ों में फ़ील्ड नामों को अपडेट करने के लिए आप डॉट नोटेशन का उपयोग कर सकते हैं।

उदाहरण दस्तावेज़:

db.pets.findOne()

परिणाम:

{
	"_id" : 1,
	"name" : "Wag",
	"details" : {
		"type" : "Dog",
		"weight" : 20,
		"awards" : {
			"Florida Dog Awards" : "Top Dog",
			"New York Marathon" : "Fastest Dog",
			"Sumo 2020" : "Biggest Dog"
		}
	}
}

आइए एम्बेड किए गए दस्तावेज़ में कुछ फ़ील्ड अपडेट करें:

db.pets.updateMany( 
  { }, 
  { $rename: { 
      "details.type": "details.t", 
      "details.weight": "details.w",
      "details.awards": "details.a"
    } 
  } 
)

अब जब हम दस्तावेज़ की जाँच करते हैं, तो हम निम्नलिखित देखते हैं:

db.pets.findOne()

परिणाम:

{
	"_id" : 1,
	"name" : "Wag",
	"details" : {
		"a" : {
			"Florida Dog Awards" : "Top Dog",
			"New York Marathon" : "Fastest Dog",
			"Sumo 2020" : "Biggest Dog"
		},
		"t" : "Dog",
		"w" : 20
	}
}

हम एम्बेडेड दस्तावेज़ों में एम्बेड किए गए दस्तावेज़ों के फ़ील्ड नामों को भी अपडेट कर सकते हैं:

db.pets.updateMany( 
  { }, 
  { $rename: { 
      "details.a.Florida Dog Awards": "details.a.fda",
      "details.a.New York Marathon": "details.a.nym",
      "details.a.Sumo 2020": "details.a.s2020"
    } 
  } 
)

और दस्तावेज़ को फिर से जांचें:

db.pets.findOne()

परिणाम:

{
	"_id" : 1,
	"name" : "Wag",
	"details" : {
		"a" : {
			"fda" : "Top Dog",
			"nym" : "Fastest Dog",
			"s2020" : "Biggest Dog"
		},
		"t" : "Dog",
		"w" : 20
	}
}

  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. MongoDB में एक तिथि से वर्ष प्राप्त करने के 6 तरीके

  2. MongoDB के लिए आधिकारिक C# ड्राइवर का उपयोग करके 'आईडी' द्वारा एक 'दस्तावेज़' कैसे निकालें?

  3. सरणी पर mongoDB अपरर्ट

  4. स्प्रिंग बूट में मोंगो टाइमआउट सेट करें

  5. MongoDb:$lookup . के साथ गहराई से नेस्टेड ऑब्जेक्ट ढूंढें