У меня в данный момент есть текстовый индекс в моих данных.Я выполняю поиск по регулярному выражению и хочу убедиться, что используется правильный индекс.В оболочке mongo я только что использовал объяснение , но как я могу использовать объяснение в драйвере C #?
Вот как я выполняю свой запрос:
public async Task<IEnumerable<GridFSFileInfo>> Find(string fileName)
{
var filter = Builders<GridFSFileInfo>.Filter.Regex(x => x.Filename, $"/.*{fileName}.*/i");
var options = new FindOptions
{
Modifiers = new BsonDocument("$hint", "filename_text")
};
var result = new List<GridFSFileInfo>();
using (var cursor = await Collection.Find(filter, options).ToCursorAsync())
{
while (await cursor.MoveNextAsync())
{
var batch = cursor.Current;
result.AddRange(batch);
}
}
return result;
}
Есть ли что-то вроде Collection.Find (фильтр, опции) .Explain () , который возвращает строку или что-то еще?Я искал в Интернете и обнаружил следующее: Существует ли "запрос объяснения" для MongoDB Linq? Однако, похоже, нет способа объяснения ...