Вот пример 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" }
]
}
Я пробовал использовать метод 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;
Отображаемый запрос:
Ниже приведен ожидаемый запрос отрисовки:
Код: Выделить всё
{
"PhoneNumbers": {
"$elemMatch": { "$and": [ { "Type": "home" }, { "Value": "111-111-1111" } ], "$and": [ { "Type": "cell" }, { "Value": "222-222-2222" } ] }
}
}
Спасибо заранее вам за помощь!
Подробнее здесь: https://stackoverflow.com/questions/767 ... using-filt