Mon go агрегация использует $ match после поиска с другой коллекцией - PullRequest
0 голосов
/ 19 января 2020

у меня есть такие документы после поиска агрегации

1.  lookup 


{
  from: 'dogs',
  localField: 'ton_id',
  foreignField: 'ton_id',
  as: 'catch'
}

результат после поиска:


_id:ObjectId("5deasn732bksd595bq65")

admin : Array
    0 : object
       _id:ObjectId("5dasdfkjh18364csd251as21")
       ton_id:"255"
       contact:"17942365"

catch: Array
    0 : object
       _id:ObjectId("5deasd64bcsd251as21")
       ton_id:"255"
       breed:"dog"
       age  :"5"

    1 : object  
       _id:ObjectId("5deasdsdfbwj83921as21")
       ton_id:"255"
       breed:"cat"
       age  :"7"

    2 : object  
       _id:ObjectId("5ddsgergdsdfbwj83921as21")
       ton_id:"255"
       breed:"cat"
       age  :"8"


Нужно использовать $ match и получать только ту породу кошек, как эта, и которая имеет возраст 8

catch: Array


    0 : object  
       _id:ObjectId("5ddsgergdsdfbwj83921as21")
       breed:"cat"
       age  :"8"


пробовал это после использования $ lookup

$match

{catch: { $elemMatch: {'breed':"cat",'age':"8" } }}

он не возвращает ничего

...