Ниже приведена структура документа mongo Db
{ _id : 0,
name : "Employee1",
distributionList :[ { dlname : "ALLEmployee"}, {dlname:"financeall"} ],
csrActivity : [ {activityname : "blooddonation"}, {activityname : "tree plantation"} ]
}
Я хочу получить список сотрудников, принадлежащих к списку рассылки financeall, и выбрал добровольную деятельность по КСО на плантациях деревьев.
Ожидаемый результат, как показано ниже
{_id: 0,
имя: "Сотрудник1",
distributionList: [{dlname: "financeall"}],
csrActivity: [{actionname: "tree plantation"}]
}
Но до сих пор удалось добиться результата ниже по запросу
Запрос :
db.employee.find(
{name : "Employee1"},
{distributionList : {$eleMatch : {dlname : "financeall"}}}
)
Выход :
{_id: 0,
имя: "Сотрудник1",
distributionList: [{dlname: "financeall"}]
}
Использование $elemMatch
для получения желаемого результата, но не удается найти способ его использования для нескольких массивов в одном документе. Также пробовал определенную комбинацию, но не смог получить желаемый результат.
Попробовал приведенный ниже запрос, но не получил желаемого результата
db.employee.find(
{name : "Employee1"},
{distributionList : {$eleMatch : {dlname : "financeall"}}},
{csrActivity: {$eleMatch : {activityname : "tree plantation"}}}
)
Любая помощь будет высоко оценена