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

MongoDB để sử dụng Sharding với Toán tử tổng hợp $ tra cứu

Như tài liệu bạn trích dẫn cho biết, bạn không thể sử dụng $lookup trên một bộ sưu tập đã chia nhỏ. Vì vậy, cách giải quyết tốt nhất là tự thực hiện tra cứu trong một truy vấn riêng biệt.

  1. Thực hiện aggregate của bạn truy vấn.
  2. Kéo các giá trị "localField" từ kết quả truy vấn của bạn vào một mảng, có thể bằng cách sử dụng Array#map .
  3. Thực hiện find truy vấn đối với tập hợp "from", sử dụng truy vấn như {foreignField: {$in: localFieldArray}}
  4. Hợp nhất các kết quả của bạn thành bất kỳ định dạng nào bạn cần.

Đừng để $lookup giới hạn ngăn bạn phân tích các bộ sưu tập yêu cầu nó cho khả năng mở rộng, chỉ cần tự thực hiện chức năng tra cứu.



  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. Cách tạo chỉ mục với tên cụ thể trong MongoDB

  2. MongoDB $ stdDevPop

  3. ScaleGrid thông báo lưu trữ MongoDB được chia sẻ trên Amazon AWS

  4. Tổng hợp Mongo Khớp nhiều giá trị

  5. Các phương pháp hay nhất để chạy MongoDB trong một cụm