Драйвер Mongodb C#: агрегат не использует созданные индексыC#

Место общения программистов C#
Ответить Пред. темаСлед. тема
Anonymous
 Драйвер Mongodb C#: агрегат не использует созданные индексы

Сообщение Anonymous »

Я создаю агрегат с помощью драйвера C# mongodb, который находит документы в первой коллекции, а затем находит документы из второй коллекции, связанные с документами первой коллекции. Моя проблема в том, что он, похоже, не использует созданные индексы для оптимизации запроса.
Я пытался использовать атрибут Hint в AggregateOptions, чтобы заставить его используйте индексы Serial и CreatedDate, хотя, похоже, они их не используют. Я также создал индекс, имеющий оба атрибута Serial_CreatedDate. Есть ли другой способ заставить запрос использовать индексы? Если нет, могу ли я что-нибудь сделать, чтобы оптимизировать этот запрос?
Вот фрагмент кода, связанный с моей проблемой:
var toDateFilter = Builders.Filter.Lte(ClassExtension.GetPropertyName(x => x.CreatedDate), to);
var serialFilter = Builders.Filter.Eq(ClassExtension.GetPropertyName(x => x.Serial), args.Serial);
var combinedFilter = Builders.Filter.And(serialFilter, fromDateFilter, toDateFilter);
// Lookup stage : Lookup with projection for FilesLog
string filesLogColName = "filesLog";
AggregateOptions aggOptions = new AggregateOptions();
aggOptions.Hint = new BsonDocument { { "Serial", 1 }, { "CreatedDate", 1 } };
var cursor = MessageLogDB.Table.Aggregate(aggOptions)
.Match(combinedFilter)
.Lookup(
_fileTableLog,
ClassExtension.GetPropertyName(x => x.MessageID),
ClassExtension.GetPropertyName(x => x.MessageID),
filesLogColName
).ToCursorAsync().Result;


Подробнее здесь: https://stackoverflow.com/questions/787 ... ed-indexes
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «C#»