У меня есть следующие JSON
[
{
"_id": "5c87e621257db42508007f3b",
"uuid": "8b03dba7-db96-40d0-8dd9-6a65efd6719a",
"user_answers": [
{
"profile_section_code": "MY_PROFILE",
"profile_question_code": "STANDARD_EDUCATION",
"selected_answer": [
"2"
]
},
{
"profile_section_code": "MY_PROFILE",
"profile_question_code": "ETHNICITY",
"selected_answer": [
"2"
]
},
{
"profile_section_code": "FAMILY",
"profile_question_code": "STANDARD_HHI_US",
"selected_answer": [
"11"
]
},
{
"profile_section_code": "FAMILY",
"profile_question_code": "STANDARD_HH_ASSETS",
"selected_answer": [
"5"
]
},
{
"profile_section_code": "AUTOMOTIVE",
"profile_question_code": "STANDARD_AUTO_DECISION_MAKER",
"selected_answer": [
"1"
]
}
],
"created_at": "2019-03-12T17:02:25.000Z"
}
]
Полный JSON можно увидеть здесь: Ссылка
Я хочу получить все user_answers с "profile_section_code": "MY_PROFILE"
Ожидаемый результат должен быть таким
{ "_id": "5c87e621257db42508007f3b", "uuid": "8b03dba7-db96-40d0-8dd9-6a65efd6719a", "user_answers": [ { "profile_section_code": "MY_PROFILE", "profile_question_code": "STANDARD_EDUCATION", "selected_answer": [ "2" ] }, { "profile_section_code": "MY_PROFILE", "profile_question_code": "ETHNICITY", "selected_answer": [ "2" ] }],"created_at": "2019-03-12T17:02:25.000Z" }
Я попробовал $ elemMatch в Projection
, но он возвращает единственный 1-й соответствующий массив, мне нужно что-то вроде $ elemMatch, но я должен вернуть весь соответствующий массив. вот скрипка для того же
Я также пытался использовать этот ответ Но это не сработало, поскольку он возвращал только 1-й соответствующий subArray
- Есть ли способ сделать это, используя только проекцию (я хочу избежать агрегации, поскольку я должен реализовать это в PHP)
- Если Выше невозможно, как я могу реализовать это с помощью агрегата?
Пожалуйста, дайте мне знать, что я могу сделать, чтобы это исправить