MongoDB
 sql >> Cơ Sở Dữ Liệu >  >> NoSQL >> MongoDB

Làm cách nào để đổi tên trường cho tất cả các tài liệu trong MongoDB?

Bạn có thể sử dụng:

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

Hoặc chỉ cập nhật các tài liệu chứa thuộc tính:

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

false, true trong phương thức trên là:{ upsert:false, multi:true } . Bạn cần multi:true để cập nhật tất cả hồ sơ của bạn.

Hoặc bạn có thể sử dụng cách cũ:

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);

Trong MongoDB 3.2, bạn cũng có thể sử dụng

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

Cú pháp chung của cái này là

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. Làm thế nào để sử dụng Elasticsearch với MongoDB?

  2. Khởi tạo toàn cầu không thành công:BadValue Không hợp lệ hoặc không có ngôn ngữ người dùng được đặt. Hãy đảm bảo các biến môi trường LANG và / hoặc LC_ * được đặt chính xác

  3. Bắt đầu với MongoDB và Mongoose

  4. Nhận phần trăm với MongoDB tổng hợp $ nhóm

  5. Quy trình công việc dữ liệu lớn sử dụng gấu trúc