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

Mongodb / Mongoid - {:multi => true} có nghĩa là gì

Tài liệu về phương pháp cập nhật MongoDB nêu những điều sau:

Về cơ bản, multi là thông số kích hoạt update_all hành vi trong câu hỏi mà bạn đã liên kết.

Trả lời cho câu hỏi thứ hai của bạn:có - Mongoid đã tích hợp sẵn tính năng này. Tài liệu tham khảo có tại tại đây . Nhưng bạn có thể sử dụng nó như thế này:

User.where(:gender => "Male").update_all(:title => "Mr")

Cập nhật

Trong trường hợp bạn muốn đẩy một giá trị vào một trường mảng, bạn vẫn cần sử dụng trực tiếp thư viện MongoDB, vì Mongoid update_all phương thức chỉ hỗ trợ $set phương pháp cập nhật cơ sở dữ liệu (có thể được sử dụng để cập nhật toàn bộ mảng, nhưng không đẩy giá trị lên đó).

Ví dụ trong câu trả lời cho câu hỏi bạn đã liên kết sẽ hoạt động, tôi đã sao chép nó bên dưới những người tình cờ gặp câu hỏi này (cảm ơn shingara !):

User.collection.update( 
  {'$in' => {:gender => 'Male'}}, 
  {'$push' => {:titles => 'Mr'}},
  {:multi => true}
)


  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. Làm cách nào để tìm một đối tượng có thuộc tính foo hoặc bar bằng giá trị truy vấn?

  2. MongoDB:lớp java.lang.Double không thể được truyền sang lớp java.lang.Long

  3. Kết nối Django +1.10 với MongoDB

  4. Xóa một phần tử khỏi mảng trong mongodb

  5. Làm thế nào để đối phó với vấn đề múi giờ khi lưu trữ ngày trong utc bằng mongod?