Saya menggunakan, Mongo 3.4.0
Operator $ rename memperbarui nama bidang dan memiliki formulir berikut:
{$rename: { <field1>: <newName1>, <field2>: <newName2>, ... } }
untuk mis
db.getCollection('user').update( { _id: 1 }, { $rename: { 'fname': 'FirstName', 'lname': 'LastName' } } )
Nama bidang baru harus berbeda dari nama bidang yang ada. Untuk menentukan dalam dokumen yang disematkan, gunakan notasi titik.
Operasi ini mengganti nama field nmae menjadi nama untuk semua dokumen dalam koleksi:
db.getCollection('user').updateMany( {}, { $rename: { "add": "Address" } } )
db.getCollection('user').update({}, {$rename:{"name.first":"name.FirstName"}}, false, true);
Dalam metode di atas false, true adalah: {upsert: false, multi: true}. Untuk memperbarui semua catatan Anda, Anda memerlukan multi: true.
Ganti nama Bidang dalam Dokumen Tertanam
db.getCollection('user').update( { _id: 1 }, { $rename: { "name.first": "name.fname" } } )
gunakan tautan: https://docs.mongodb.com/manual/reference/operator/update/rename/
false, true
diupdate
metode dari$rename
versi adalah:{ upsert:false, multi:true }
. Anda perlumulti:true
memperbarui semua catatan Anda.