c# mongo 2.0 уменьшает трафик FindAsync
Я должен получить некоторые незначительные данные из каждого документа, который у меня есть в базе данных, но я все еще хочу уменьшить трафик, чтобы предотвратить "сканирование таблиц" (просто термин, я знаю его не таблицы).
У меня есть коллекция, скажем, "книги" (просто потому, что все используют ее для приведения примеров), теперь моя проблема в том, что я хочу только названия книг с данным автором.
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);
}
}
но, когда я сканирую весь результат коллекции, я использую большие куски данных, не так ли? предположим это не книги, а целые сетевые сети, и каждый документ составляет около 5-10 МБ, и у меня их тысячи..как я могу уменьшить трафик здесь, не сохраняя эти данные мне нужны в другой коллекции?
редактировать Я думаю, что это называется "представления" в базе данных SQL.
1 ответов
вы можете уменьшить размер возвращенных документов через проекция, который вы можете установить в