Я хочу использовать LINQ для возврата всех записей в коллекции MongoDB, где поле в записи представляет собой список строк, а любая строка в списке соответствует любому строковому значению в списке строк, используемых в качестве критериев поиска:
Запись Mongo в коллекции («Предмет»):
{
"_id": ...,
"StringList": [
"string1",
"string2",
"string3"
],
...
}
Критерий поиска:
var criteria = new List<string> { "string2", "string4" };
Мой код:
var foundItems = iMongoDataProvider.FindAll<Item>()
.Where(x =>x.StringList.ContainsAny(criteria)).ToList();
На основании вышеизложенного должна быть возвращена запись Mongo, поскольку одно из значений StringList совпадает с одним из значений в критериях поиска. Ничего не возвращается, хотя я могу вручную просмотреть коллекцию и найти соответствующую запись. Что я делаю неправильно? Может ли кто-нибудь привести пример, который сделает то, что мне нужно? Спасибо!