Как построить фильтр для нескольких значений одного и того же атрибута в C# с драйвером MongoDb - PullRequest
0 голосов
/ 23 апреля 2020

Я пытаюсь создать фильтр для определенного атрибута в моей таблице MongoDB. У меня есть массив значений, и я хочу получить только результаты из MongoDB, содержащие это значение для атрибута, по которому я ищу.

Например:

Я хочу найти все следующие идентификаторы: «12345», «23456», «34567» У меня есть массив этих значений:

var ids = ["12345", "23456", "34567"]

Фильтр, который я сейчас построил, выглядит следующим образом:

var builder = Builders<Common.Models.ServiceRequest>.Filter;
FilterDefinition<Common.Models.ServiceRequest> filter = builder.Empty;
filter = builder.Ne(x => x.Id, null);
foreach (string id in ids)
{
    filter = filter | builder.Eq(x => x.Id, id);
}

По какой-то причине это, похоже, не работает, хотя я использую или (|) в MongoDriver.

Любое руководство по этому вопросу будет оценено! Спасибо

...