2012-02-22 43 views
5

Giả sử tôi có blog với bộ sưu tập là posts và mỗi post có một bộ sưu tập là comments. Tôi muốn truy vấn tất cả các nhận xét để tìm 5 bài đăng mới nhất trên tất cả các bài đăng trên blog. Với một RDBMS bạn chỉ cần đi thẳng vào bảng bình luận, sắp xếp theo ngày và lấy 5. Có thể làm điều gì đó tương tự trong Ravendb, cho rằng các nhận xét không phải là gốc tổng hợp không?Truy vấn các bộ sưu tập trẻ em trong tài liệu Ravendb

Trả lời

2

Có ý nghĩa để lưu trữ nhận xét của bạn dưới dạng tài liệu riêng biệt thay vì trong mỗi bài viết nếu không bạn sẽ tải và lưu toàn bộ tài liệu bài mỗi lần thêm nhận xét.

Với điều này trong tâm trí bạn chỉ cần truy vấn ý kiến ​​của bạn giống như sau

session.Query<Comment>().OrderByDescending(x => x.CommentDate).Take(5) 
+0

Tôi nghĩ đây là trường hợp. Làm cách nào để liên kết chúng với bài đăng gốc? - Cung cấp cho họ một lĩnh vực khóa ngoài giả mạo và sau đó thực hiện một truy vấn khác dựa trên đó? – highace

+0

Không chắc chắn tôi có thể thêm nhiều vào bài viết sau đây giải thích các tùy chọn khác nhau để tạo mối quan hệ tài liệu, xem điều này có giúp http://daniellang.net/how-to-handle-relations-in-ravendb/ Có thể thêm một postId bất động sản để bình luận và sử dụng bao gồm sẽ là chiến lược tôi muốn đi cho –

+0

Fantastic, cảm ơn rất nhiều. – highace

Các vấn đề liên quan