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

PyMongo Cập nhật tài liệu với nhiều bản ghi

Đối với các mặt hàng mới

db.cmpe285.update({"username":username}, {"$push": {"stocks":{"name":stock_symbol,"count":allotment,"price":initial_share_price}}})

Để cập nhật các mặt hàng hiện có , giả sử bạn đang cập nhật phân bổ. bạn cần sử dụng toán tử vị trí ($) với giá trị mảng được tham chiếu trong truy vấn.

db.cmpe285.update({"username":username, "stocks.name":stock_symbol}, {"$set": {"stocks.$.count":allotment2}})

Đối với các mặt hàng đang nâng cấp , đây là một quy trình 2 bước. Trước tiên, bạn sẽ cần chạy truy vấn giống như cách bạn làm để cập nhật các mục hiện có như ở trên và kiểm tra phản hồi kết quả ghi từ truy vấn trên và kiểm tra số lượng đã sửa đổi. Nếu số lượng được sửa đổi là 0 có nghĩa là chúng tôi cần phải bổ sung và sau đó bạn sẽ chỉ làm điều đó như trong trường hợp thêm các mục mới.

db.cmpe285.update({"username":username, "stocks.name":stock_symbol}, {"$set": {"stocks.$.count":allotment2}})

Kiểm tra WriteResult , nếu được sửa đổi bằng 0.

db.cmpe285.update({"username":username}, {"$push": {"stocks":{"name":stock_symbol,"count":allotment2,"price":initial_share_price}}})

Nếu số được sửa đổi bằng 1, thì việc nâng cấp đã thành công.



  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. Làm việc với PTVS, IronPython và MongoDB

  2. Nút này không được bắt đầu với tùy chọn replSet

  3. Bỏ bộ sưu tập Mongo không xóa dung lượng ổ đĩa

  4. mongodb tìm bằng cách so sánh các giá trị trường

  5. Yii2 Active ghi lại cách tạo mối quan hệ giữa các mô hình mongo