mongodb变更流-pymongo

mongodb变更流-pymongo,mongodb,mongodb-query,pymongo,Mongodb,Mongodb Query,Pymongo,我正在尝试使用pymongo来检查我的收藏中的更新。它工作并返回更新的集合 pipeline = [{ '$match': {'operationType': 'update'}, } ] 输出bson为 { '_id': { '_data': '825FE6C622000000012B022C0100296E5A1004731D2D44381F4405B1C7808CE45703F046645F696400645FE58A91DAFF726006C3D1E90004'

我正在尝试使用pymongo来检查我的收藏中的更新。它工作并返回更新的集合

pipeline = [{
    '$match': {'operationType': 'update'},
}
]
输出bson为

{
  '_id': {
    '_data': '825FE6C622000000012B022C0100296E5A1004731D2D44381F4405B1C7808CE45703F046645F696400645FE58A91DAFF726006C3D1E90004'
  },
  'operationType': 'update',
  'clusterTime': Timestamp(1608959522,
  1),
  'ns': {
    'db': 'iec',
    'coll': 'Substation'
  },
  'documentKey': {
    '_id': ObjectId('5fe58a91daff726006c3d1e9')
  },
  'updateDescription': {
    'updatedFields': {
      'College': [
        {
          'name': 'C1',
          'Student': [
            {
              'name': 'S1',
              'rank': 1

            },
            {
              'name': 'S2',
              'rank': 1
            }
          ]
        }
      ]
    },
    'removedFields': [
      
    ]
  }
}
但是我不想要那些额外的字段,比如操作类型、集群时间等等。我只想知道学生们的详细情况。如何更改我的管线以实现


谢谢

您可以在匹配后添加project stage以抑制所需的字段:

pipeline = [{ '$match': {'operationType': 'update'}} , {'$project': { 'operationType':0 , _id:0 , 'clusterTime':0    } }]

{'project':{'u id':0,'updateDescription.updateFields.College':1}}
可能更接近。