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

Chỉ mục trên trường ts trong oplog.rs không được cập nhật

Như bạn đã phát hiện, chỉ mục phụ không được hỗ trợ trên các bộ sưu tập hệ thống như local.oplog.rs*.system.profile . Trong MongoDB 2.4 trở lên, các chỉ mục dường như đã được tạo, nhưng chưa bao giờ thực sự được cập nhật. Các phiên bản mới hơn của MongoDB (2.6+) trả lại lỗi nếu bạn cố gắng cập nhật trực tiếp bộ sưu tập hệ thống với thay đổi không được hỗ trợ, chẳng hạn như cố gắng tạo chỉ mục bổ sung.

oplog.rs bộ sưu tập chắc chắn là "đặc biệt" vì mục đích sử dụng của nó chỉ để nhân rộng. Nội bộ nhân bản đưa ra một số giả định về các hoạt động dự kiến ​​cho oplog trên cơ sở này. Ví dụ:sao chép chỉ cần chèn các mục oplog - không giống như một bộ sưu tập có giới hạn mà bạn có thể tự tạo, các mục oplog không bao giờ đã cập nhật.

Các ứng dụng phải đọc oplog bằng con trỏ có thể điều chỉnh nếu chúng cần theo dõi các mục nhập mới được chèn vào oplog hoặc để thực hiện tìm kiếm bằng cách sử dụng $natural đặt hàng.

Hướng dẫn con trỏ có thể điều chỉnh đi vào một số chi tiết hơn về cách sử dụng, nhưng một số điểm cụ thể cần lưu ý là:

  • Các con trỏ khả dụng không sử dụng chỉ mục và trả về tài liệu theo thứ tự tự nhiên.
  • Bởi vì các con trỏ có thể điều chỉnh không sử dụng chỉ mục, quá trình quét truy vấn ban đầu có thể tốn kém; nhưng, sau khi sử dụng con trỏ ban đầu, việc truy xuất các tài liệu mới được thêm vào tiếp theo sẽ không tốn kém


  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. 5 cách để có được giây từ một ngày trong MongoDB

  2. Chuỗi kết nối trong MongoDB (có ví dụ)

  3. Cách mới để quản lý cơ sở dữ liệu nguồn mở

  4. Cảnh báo ngừng sử dụng mongoDB mongoose

  5. Spring Data MongoDB - Chú thích @CreateDate không hoạt động khi sử dụng với trường Id tùy chỉnh