MongoDB
 sql >> Teknologi Basis Data >  >> NoSQL >> MongoDB

Ganti nama Bidang dalam Koleksi MongoDB

Di MongoDB, Anda dapat mengganti nama bidang saat memperbarui dokumen dalam koleksi.

Untuk mengganti nama bidang, panggil $rename operator dengan nama bidang saat ini dan nama baru. Tindakan ini akan mengganti nama bidang di semua dokumen yang cocok yang memiliki bidang dengan nama tersebut.

Contoh

Misalkan kita memiliki koleksi yang disebut employees dengan dokumen sebagai berikut:

{ "_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 }

Dan misalkan kita ingin mengganti nama name kolom ke employees .

Kita bisa melakukan ini:

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

Keluaran:

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

Sekarang ketika kita menggunakan find() metode untuk mengembalikan dokumen dalam koleksi, kita melihat hasil berikut:

db.employees.find()

Hasil:

{ "_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" }

Ganti Nama Beberapa Bidang

Anda dapat mengganti nama beberapa bidang dengan memisahkannya dengan koma.

Contoh:

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

Keluaran:

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

Dan inilah tampilan koleksinya sekarang:

{ "_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 }

Dokumen Tersemat

Anda dapat menggunakan notasi titik untuk memperbarui nama bidang dalam dokumen yang disematkan.

Contoh dokumen:

db.pets.findOne()

Hasil:

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

Mari perbarui beberapa bidang dalam dokumen yang disematkan:

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

Sekarang ketika kita memeriksa dokumen, kita melihat yang berikut:

db.pets.findOne()

Hasil:

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

Kami juga dapat memperbarui nama bidang dokumen yang disematkan dalam dokumen yang disematkan:

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"
    } 
  } 
)

Dan mari kita periksa kembali dokumennya:

db.pets.findOne()

Hasil:

{
	"_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. Bagaimana cara mengurutkan dalam luwak?

  2. MongoDB:Bagaimana cara mengetahui apakah bidang array berisi elemen?

  3. Manual Audit Database Sumber Terbuka DevOps - Semua Yang Harus Anda Ketahui

  4. MongoDB $dateToParts

  5. Menanyakan setelah diisi di Mongoose