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

Không thể nhận được một truy vấn được đề cập cho bộ sưu tập đã phân đoạn trong MongoDB

Như ở MongoDB 2.6, bạn sẽ không nhận được truy vấn phân đoạn được bao phủ đầy đủ vì có thêm một truy vấn để kiểm tra xem phân đoạn được đề cập có sở hữu tài liệu đó hay không (xem SERVER-5022 trong trình theo dõi vấn đề MongoDB).

mongos bộ định tuyến lọc các tài liệu được tìm thấy trên một phân đoạn nhưng không tồn tại ở đó theo siêu dữ liệu của phân đoạn.

Tài liệu có thể tồn tại trên nhiều phân đoạn nếu:

  • Có một di chuyển theo đoạn đang tiến hành:tài liệu được sao chép từ một phân đoạn của nhà tài trợ sang một phân đoạn đích và không bị xóa khỏi phân đoạn của nhà tài trợ cho đến khi quá trình di chuyển phân đoạn hoàn tất thành công.

  • Các tài liệu đã bị "mồ côi" trên một phân đoạn do quá trình di chuyển không thành công hoặc quá trình dọn dẹp không đầy đủ. Có một cleanupOrphaned lệnh quản trị trong MongoDB 2.6 có thể chạy trên mongod được phân mảnh để xóa các tài liệu mồ côi.

Giới hạn truy vấn được đề cập này được lưu ý trong Giới hạn:Các truy vấn được bao phủ trong các cụm được chia nhỏ phần của tài liệu MongoDB nhưng cũng nên được đánh dấu trong hướng dẫn về Tạo Truy vấn được Bao gồm . Tôi đã huy động được DOCS-3820 để làm cho điều này rõ ràng hơn.




  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. NodeJS / ExpressJS gửi phản hồi lượng lớn dữ liệu trong 1 luồng

  2. Số lượng Mongodb khác biệt với nhiều trường nhóm

  3. Điền trường được chọn từ bộ sưu tập và lọc theo giá trị đã chọn trong sao băng

  4. mongodb chèn nhiều tài liệu hoặc cập nhật bằng khóa duy nhất

  5. Cách tạo chỉ mục với tên cụ thể trong MongoDB