Выборка по двум условиям

В данном случае нужно выбрать только объекты где совпадают оба условия, т.е. конкретный автор

{authors: [
 {"surname": "Smith","name": "R."},
 {"surname": "Chalaev", "name": "M."},
 {"surname": "Robertson","name": "J." }
]},
{authors: [
 {"surname": "Smith", "name": "S."},
 {"surname": "Chalaev","name": "R."},
 {"surname": "Robertson","name": "P." }
]},
{authors: [
 {"surname": "Smith", "name": "K."},
 {"surname": "Chalaev","name": "R."},
 {"surname": "Silverson","name": "P." }
]}

db["authors"].aggregate([
  {$match: {'authors.surname': 'Chalaev','authors.name': 'R.'}}
])

В представленном решении выборка идет отдельно по surname и отдельно по name, поэтому ответ неправильный. Прошу подсказать с правильным решением именно через aggregate. через find решается $elemMatch


Ответы (0 шт):