Giả sử một thiết lập như thế này:MongoDB: cross-bộ sưu tập truy vấn
blogposts
{
title:"Example",
slug:"example-post"
tags: ["foo", "bar"]
},
{
title:"Example2",
slug:"example2"
tags: ["foo"]
}
news
{
headline: "Test"
slug: "test-news"
tags: ["bar"]
}
Tôi biết tôi có thể nhận được tất cả các bài đăng trên blog với một từ khóa cụ thể:
$cursor = $blogposts->find(array('tags' => 'bar'));
nhưng là có cách nào để truy vấn nhiều bộ sưu tập cùng một lúc để có được tất cả các tài liệu với thẻ? Ví dụ. để hiển thị tất cả nội dung có thẻ 'thanh'.
+1 cho cái nhìn sâu sắc tuyệt vời. Sẽ có sự khác biệt về hiệu suất nếu tôi sử dụng nhiều bộ sưu tập trong một bộ sưu tập duy nhất đặc biệt là khi tôi lập kế hoạch lập chỉ mục hai cột bên trong bộ sưu tập của mình? – Legend
@Legend: Cảm ơn! Bằng cách sử dụng nhiều bộ sưu tập, bạn sẽ không phải lập chỉ mục trường 'type', điều này sẽ giúp bạn tiết kiệm một số RAM. Nhưng xét về hiệu suất truy vấn, sự khác biệt sẽ không đáng kể nếu bạn đã xác định các chỉ mục phù hợp. –