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, truediupdatemetode dari$renameversi adalah:{ upsert:false, multi:true }. Anda perlumulti:truememperbarui semua catatan Anda.