Не могли бы вы объяснить, как использовать Regex.IsMatch для свойства IEnumerable.
Я пытался сделать это так:
var portfolios = Collection.AsQueryable();
portfolios = portfolios.Where(portfolio => portfolio.KeyWords.Any(keyword => Regex.IsMatch(keyword, "hal", RegexOptions.IgnoreCase)));
где KeyWords
это свойство - public IEnumerable<string> KeyWords { get; set; }
В результате я вижу, что получил такой запрос:
{aggregate([{ "$match" : { "KeyWords" : { "$elemMatch" : { "" : /hal/i } } } }])}
Но, похоже, этот запрос не работает, поскольку возвращаемый результат равен 0.
Чтобы уточнить, что мне нужно. У меня есть документ со структурой, как:
{
"_id" : "5b488f1f666ba93004f990e0",
"KeyWords" : [
"New portfolio",
"Bayern",
"Halana",
"6"
],
}
Что мне нужно, так это найти все документы с определенным запросом по Regex.IsMatch для объектов в массиве KeyWords.
Например, я хочу найти все документы, где ключевые слова содержат объект, содержащий текст "hal"
Спасибо