У меня есть документы с огромным количеством полей (7500 полей в каждом), но значения полей - это простые данные (только цифры), когда я пытаюсь запросить коллекцию, она прекрасно работает (я смотрю на профилировщик монго и правильно использую индексы), нослишком много времени занимает итерация курсора (для получения данных). Количество полученных документов составляет ~ 450, но для получения всех документов требуется около 2 минут. Я уже обновил версию mongoDB до последней, также обновил драйвер MongoDB (для .NET),воссозданные индексы, но ничего не помогает
PS соединение не медленное (сервер BD находится в моей локальной сети - 100Base-T / Fast Ethernet) Пример кода запроса ниже
var builder = Builders<BsonDocument>.Filter;
var filter = builder.Eq("OrgID", orgID);
filter = filter & builder.Eq("DateDeleted", (DateTime?)null);
var collection = GetCollection("NameOfCollection");
var result = collection.Find(filter);
using (var cursor = result.ToCursor())
{
while (cursor.MoveNext())
{
var batch = cursor.Current;
foreach (var document in batch)
{
yield return document;
}
}
}
, и у меня есть индексдля этих полей отдельно, а также есть составной индекс с обоими полями в одном индексе
, и он прекрасно работает с коллекциями, где гораздо больше документов, но меньше полей (~ 20 полей в каждом документе)