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

Làm thế nào để sử dụng tham chiếu db với Spring Data MongoDB phản ứng?

TL; DR

Không có DBRef hỗ trợ trong Spring Data MongoDB phản ứng và tôi không chắc sẽ có.

Giải thích

Các dự án Spring Data được tổ chức thành các thành phần Template API, Converter và Mapping Metadata. Việc triển khai (chặn) bắt buộc của API Mẫu sử dụng phương pháp bắt buộc để tìm nạp Document s và chuyển đổi chúng thành các đối tượng miền. MappingMongoConverter đặc biệt xử lý tất cả chuyển đổi và DBRef nghị quyết. API này hoạt động trong một API đồng bộ / bắt buộc và được sử dụng cho cả việc triển khai API mẫu (bắt buộc và phản ứng).

Tái sử dụng MappingMongoConverter là quyết định hợp lý trong khi thêm hỗ trợ phản ứng vì chúng tôi không cần phải sao chép mã. Hạn chế duy nhất là DBRef giải pháp không phù hợp với mô hình thực thi phản ứng.

Để hỗ trợ DBRef phản ứng s, bộ chuyển đổi cần được chia thành nhiều bit và toàn bộ việc xử lý liên kết yêu cầu đại tu.

Tham khảo: https://jira.spring.io/browse/DATAMONGO-2146

Khuyến nghị

Giữ các tham chiếu dưới dạng khóa / Id trong mô hình miền của bạn và tra cứu chúng khi cần. zipWithflatMap là các toán tử thích hợp, tùy thuộc vào những gì bạn muốn lưu trữ (nâng cao mô hình với các tham chiếu, chỉ tham chiếu tra cứu).

Một lưu ý liên quan:Reactive Spring Data MongoDB đi kèm một phần với một bộ tính năng được giảm bớt. Phần mở rộng SpEL theo ngữ cảnh là một tính năng không được hỗ trợ vì các thành phần này giả định một mô hình lập trình mệnh lệnh và do đó thực thi đồng bộ.



  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. Cách chỉ chiếu các trường phù hợp của mảng lồng nhau trong truy vấn shell mongo

  2. Lỗi 504 khi chèn vào cơ sở dữ liệu mongo

  3. Dưới trình điều khiển java MongoDB phạm vi lệnh Mapreduce; thêm chức năng vào Phạm vi

  4. Làm cách nào để đặt động một trường tài liệu con trong mongodb?

  5. đối sánh chuỗi gần đúng mongodb