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

Nâng cấp nhiều bản ghi với MongoDb

Điều này - một cách chính xác - sẽ không chèn bất kỳ bản ghi nào có event_id 1 hoặc 2 nếu chúng chưa tồn tại

db.foo.update({event_id: { $in: [1,2]}}, {$inc: {visit:1}}, true, true)

Điều này là do objNew một phần của truy vấn (xem http://www.mongodb.org/display / DOCS / Đang cập nhật # Updating-UpsertswithModifier ) không có giá trị cho trường event_id . Do đó, bạn sẽ cần ít nhất X + 1 lần truy cập đến cơ sở dữ liệu, trong đó X là số lượng event_id, để đảm bảo rằng bạn chèn một bản ghi nếu một bản ghi không tồn tại cho một event_id cụ thể (+1 đến từ truy vấn ở trên , làm tăng số lượt truy cập cho các bản ghi hiện có). Nói một cách khác, làm cách nào MongoDB biết bạn muốn sử dụng giá trị 2 cho event_id chứ không phải 1? Và tại sao không phải là 6?

W.r.t. chèn hàng loạt với ruby, tôi nghĩ có thể như liên kết sau gợi ý - mặc dù tôi chỉ sử dụng trình điều khiển Java: Chèn / cập nhật hàng loạt bằng Mongoid?



  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. Không thể nhận các giá trị thuộc tính dirtyPropertyNames cho các trường liên kết trong grails

  2. Mongo 2.6.1 - Nghệ danh đường ống không được công nhận:'$ out'

  3. Tại sao Mongoose có cả lược đồ và mô hình?

  4. Truy vấn MongoDB cho nhiều ObjectID trong Mảng

  5. Xây dựng SQL LEFT () này trong MongoDB Query?