MongoDB:如何从数组中获取特定元素?

MongoDB:如何从数组中获取特定元素?,mongodb,mongodb-query,Mongodb,Mongodb Query,我在文档中有如下对象: 我只想从'transactions'数组中获取其内部字段'isMatched'==false的元素 我试过: 但是我得到了所有的数组元素: 什么是合适的查询?您可以通过聚合实现这一点$filter有助于消除不需要的对象 db.collection.aggregate([ { $project: { company: 1, transaction: { $filter: { input: &qu

我在文档中有如下对象:

我只想从'transactions'数组中获取其内部字段'isMatched'==false的元素
我试过:

但是我得到了所有的数组元素:


什么是合适的查询?您可以通过聚合实现这一点
$filter
有助于消除不需要的对象

db.collection.aggregate([
  {
    $project: {
      company: 1,
      transaction: {
        $filter: {
          input: "$transaction",
          cond: {
            $eq: [
              "$$this.isMatched",
              false
            ]
          }
        }
      }
    }
  }
])
工作

db.collection.aggregate([
  {
    $project: {
      company: 1,
      transaction: {
        $filter: {
          input: "$transaction",
          cond: {
            $eq: [
              "$$this.isMatched",
              false
            ]
          }
        }
      }
    }
  }
])