Mongodb Mongo聚合在与另一个集合进行查找后使用$match

Mongodb Mongo聚合在与另一个集合进行查找后使用$match,mongodb,mongodb-query,aggregation-framework,aggregate-functions,Mongodb,Mongodb Query,Aggregation Framework,Aggregate Functions,我有我的文件后,聚集查找如下 1. lookup { from: 'dogs', localField: 'ton_id', foreignField: 'ton_id', as: 'catch' } 查找后的结果: _id:ObjectId("5deasn732bksd595bq65") admin : Array 0 : object _id:ObjectId("5dasdfkjh18364csd251as21") ton_

我有我的文件后,聚集查找如下

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" } }}

它没有返回任何输出

这是否回答了您的问题
$elemMatch
仅适用于
.find
方法,不适用于聚合命令。在聚合管道中使用而不是
$elemMatch
,这是否回答了您的问题
$elemMatch
仅适用于
.find
方法,不适用于聚合命令。在聚合管道中使用而不是
$elemMatch