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

Việc di chuyển tài liệu giữa các bộ sưu tập có phải là một cách tốt để thể hiện các thay đổi trạng thái trong MongoDB không?

Vâng, đây là do thiết kế. MongoDB rõ ràng không cung cấp các phép nối hoặc giao dịch. Xóa + Lưu là một hình thức giao dịch.

Bạn thực sự có hai tùy chọn độ phức tạp thấp ở đây, cả hai đều liên quan đến findAndModify .

Tùy chọn số 1:một bộ sưu tập duy nhất

Dựa trên mô tả của bạn, về cơ bản bạn đang xây dựng một hàng đợi với một số tính năng bổ sung. Nếu bạn tận dụng một bộ sưu tập thì bạn sử dụng findAndModify để cập nhật trạng thái của từng mặt hàng khi nó đang được xử lý.

Thật không may, điều đó có nghĩa là bạn sẽ mất điều này: ... rằng bộ sưu tập "đến" có thể được lưu giữ rất nhỏ và nhanh chóng theo cách này .

Tùy chọn số 2:hai bộ sưu tập

Tùy chọn khác về cơ bản là cam kết hai giai đoạn, tận dụng findAndModify .

Hãy xem tài liệu cho điều này tại đây .

Sau khi một mặt hàng được xử lý trong A bạn đặt một trường để gắn cờ trường đó để xóa. Sau đó, bạn sao chép mục đó sang B . Sau khi được sao chép vào B sau đó, bạn có thể xóa mục khỏi A .



  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. MongoDb - Làm cách nào để cập nhật nhiều phần tử của một đối tượng lồng nhau bằng cách sử dụng $ set?

  2. nơi để chèn các hàm trong mongodb codeigniter

  3. Facet + Aggregate Query sử dụng sự cố ObjectId với Spring Data Mongo

  4. Mongoose tổng hợp trả về kết quả trống

  5. Cách nhanh nhất để có được biểu đồ kích thước mảng bằng cách sử dụng khung tổng hợp MongoDB