Tôi phải lấy một số dữ liệu nhỏ từ mỗi tài liệu tôi có trong cơ sở dữ liệu nhưng tôi vẫn muốn giảm lưu lượng truy cập để ngăn chặn "Table-Scan" (chỉ là thuật ngữ, tôi biết không phải bảng của nó) .C# mongo 2.0 giảm lưu lượng truy cập của FindAsync
Tôi có một bộ sưu tập cho phép nói "Sách" (chỉ vì mọi người đang sử dụng nó để đưa ra ví dụ), bây giờ, vấn đề của tôi là tôi chỉ muốn sách có tiêu đề tác giả.
var filter = Builders<Book>.Filter.Eq(n => n.Author, AuthorId);
List<string> books = new List<string>();
using (var cursor = await BooksCollection.FindAsync(filter))
{
while (await cursor.MoveNextAsync())
{
var batch = cursor.Current;
foreach (Book b in batch)
books.Add(b.Title);
}
}
Nhưng khi quét toàn bộ kết quả thu thập, tôi đang sử dụng khối dữ liệu lớn phải không? giả sử đó không phải là sách nhưng toàn bộ mạng lưới và mỗi tài liệu là khoảng 5-10 MB và tôi có hàng nghìn chúng .. làm cách nào để giảm lưu lượng truy cập ở đây mà không lưu trữ dữ liệu này mà tôi cần trong bộ sưu tập khác?
Chỉnh sửa Tôi nghĩ nó được gọi là "Chế độ xem" trong cơ sở dữ liệu SQL.