Mongo Db: запрос elemMatch для нескольких массивов - PullRequest
0 голосов
/ 11 сентября 2018

Ниже приведена структура документа 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"}}}
    )

Любая помощь будет высоко оценена

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...