MongoDB – Как выполнить запрос с несколькими условиями И для номеров телефонов с помощью FilterDefinitionC#

Место общения программистов C#
Ответить Пред. темаСлед. тема
Гость
 MongoDB – Как выполнить запрос с несколькими условиями И для номеров телефонов с помощью FilterDefinition

Сообщение Гость »

У меня есть коллекция MongoDB под названием «Кандидаты» с документами, содержащими информацию о заявителях, включая их фамилию, тип и массив телефонных номеров разных типов, таких как «домашний», «сотовый» и «офис».< /p>
Вот пример JSON-представления документа «Кандидат»:

Код: Выделить всё

{
"_id": ObjectId("61791ecf2abf206fd5e5e322"),
"LastName": "Smith",
"Type": "P",
"PhoneNumbers": [
{ "Type": "home", "Value": "111-111-1111" },
{ "Type": "cell", "Value": "222-222-2222" },
{ "Type": "office", "Value": "333-333-3333" }
]
}
Теперь мне нужно выполнить запрос, чтобы найти кандидатов с определенными номерами телефонов, например «домашними» и «мобильными». Я использую драйвер C# MongoDB и хочу использовать FilterDefinition.
Я пробовал использовать метод ElemMatch с несколькими условиями, но, похоже, это не помогло. работать как положено. Вот моя текущая попытка:

Код: Выделить всё

var filterBuilder = Builders.Filter;
var homePhoneFilter = filterBuilder.Eq("PhoneNumbers.Type", "home") & filterBuilder.Eq("PhoneNumbers.Value", "111-111-1111");
var cellPhoneFilter = filterBuilder.Eq("PhoneNumbers.Type", "cell") & filterBuilder.Eq("PhoneNumbers.Value", "222-222-2222");
var queryFilter = homePhoneFilter & cellPhoneFilter;
К сожалению, это не возвращает никаких результатов, и я подозреваю, что объединение homePhoneFilter и cellPhoneFilter с использованием & может оказаться неправильным подходом. .
Отображаемый запрос:
Ниже приведен ожидаемый запрос отрисовки:

Код: Выделить всё

{
"PhoneNumbers": {
"$elemMatch": { "$and": [ { "Type": "home" }, { "Value": "111-111-1111" } ], "$and": [ { "Type": "cell" }, { "Value": "222-222-2222" } ] }
}
}
Буду очень признателен за любые рекомендации о том, как правильно реализовать несколько условий AND с использованием FilterDefinition в C# для моего запроса MongoDB.
Спасибо заранее вам за помощь!

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

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

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

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

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

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

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