Весенний ботинок Mongodb Aggregation Query - PullRequest
0 голосов
/ 13 января 2020

Может ли кто-нибудь предоставить код агрегации Spring Boot для агрегированного конвейерного запроса mongodb, используя GroupOperation, MatchOperation, SortOperation и ProjectionOperation?

    db.bookings.aggregate( 
       [ 
          { 
             '$match':{ 
                'ANNUAL_AS_BOOKINGS_ACTUAL':{ 
                   '$ne':null
                },
                'TOTAL_AS_BOOKINGS_ACTUAL' :{
                  '$ne':null
                 },
                'PL_LEVEL_1':{ 
                   '$in':['APJC','EMEAR']
                }
             }
          },
           { 
             '$group':{ 
                '_id':{ 
                   'PL_LEVEL_1':'$PL_LEVEL_1',
                   'PL_LEVEL_2':'$PL_LEVEL_2'
                },
                'SUM(ASBOOKINGS)':{ 
                   '$sum':'$ANNUAL_AS_BOOKINGS_ACTUAL'
                },
                'SUM(TOTAL_AS_BOOKINGS_ACTUAL)': {
                    '$sum':'$TOTAL_AS_BOOKINGS_ACTUAL'
                }
             }
          },
          { 
             '$project':{ 
                'CX Level 1':'$_id.PL_LEVEL_1',
                'CX Level 2':'$_id.PL_LEVEL_2',
                'Annual Bookings' : '$SUM(ASBOOKINGS)',
                'Total AS Bookings Actual' : '$SUM(TOTAL_AS_BOOKINGS_ACTUAL)',
                '_id':NumberInt(0)
             }
          },
          { 
             "$sort":{ 
                "CX Level 1" : NumberInt(1),
                "CX Level 2" : NumberInt(1)
             }
          }
       ]
    )
...