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

Bagaimana saya bisa mengganti nama bidang untuk semua dokumen di MongoDB?

Anda dapat menggunakan:

db.foo.update({}, {$rename:{"name.additional":"name.last"}}, false, true);

Atau hanya memperbarui dokumen yang berisi properti:

db.foo.update({"name.additional": {$exists: true}}, {$rename:{"name.additional":"name.last"}}, false, true);

false, true pada metode di atas adalah:{ upsert:false, multi:true } . Anda memerlukan multi:true untuk memperbarui semua catatan Anda.

Atau Anda bisa menggunakan cara sebelumnya:

remap = function (x) {
  if (x.additional){
    db.foo.update({_id:x._id}, {$set:{"name.last":x.name.additional}, $unset:{"name.additional":1}});
  }
}

db.foo.find().forEach(remap);

Di MongoDB 3.2 Anda juga dapat menggunakan

db.students.updateMany( {}, { $rename: { "oldname": "newname" } } )

Sintaks umum dari ini adalah

db.collection.updateMany(filter, update, options)

https://docs.mongodb.com/manual/reference/method/db.collection.updateMany/



  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. Migrasi MongoDB ke DynamoDB, Bagian 2

  2. Sudo service mongodb restart memberikan kesalahan layanan yang tidak dikenal di ubuntu 14.0.4

  3. Filter sub array dari array dengan beberapa kriteria

  4. Versi MongoDB apa yang diinstal di Ubuntu?

  5. MongoDB $dateFromString