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

Làm cách nào để thay đổi loại trường?

Cách duy nhất để thay đổi $type của dữ liệu là thực hiện cập nhật dữ liệu nơi dữ liệu có đúng loại.

Trong trường hợp này, có vẻ như bạn đang cố thay đổi $type từ 1 (đôi) đến 2 (chuỗi).

Vì vậy, chỉ cần tải tài liệu từ DB, thực hiện ép kiểu (new String(x) ) và sau đó lưu tài liệu lại.

Nếu bạn cần thực hiện việc này theo chương trình và hoàn toàn từ shell, bạn có thể sử dụng find(...).forEach(function(x) {}) cú pháp.

Để trả lời bình luận thứ hai bên dưới. Thay đổi trường bad từ một số thành một chuỗi trong bộ sưu tập foo .

db.foo.find( { 'bad' : { $type : 1 } } ).forEach( function (x) {   
  x.bad = new String(x.bad); // convert field to string
  db.foo.save(x);
});


  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. Lược đồ Mongoose:'duy nhất' không được tôn trọng

  2. Xây dựng mongo-cxx-driver bằng CMake ExternalProject_Add

  3. MongoDB 'count ()' rất chậm. Làm thế nào để chúng tôi tinh chỉnh / làm việc với nó?

  4. làm thế nào để gọi hoạt động đếm sau khi tìm thấy với trình điều khiển java mongodb

  5. Mẹo nâng cấp máy chủ Percona cho MongoDB