Aggregate add fields with array expression in mongo java driver

db.collection.aggregate([
{
$match : { filterQuery}
},
{
$addFields :{ “customGradeOrder” : { $indexOfArray: [ [“Gold”, “Silver”, “Bronze”] , “$grade” ] }}
},{$sort : { customGradeOrder : 1 } }
]);

Looking for reference to mongo java driver which allows to create add fields for preceding expression.

I think you can simply do:

addFields = new Document( "$addFields" ,
  new Document( "customeGradeOrder" ,
    new Document( "$indexOfArray" , Arrays.asList( Arrays.asList( "Gold", "Silver", "Bronze" ) , "$grade" ) ) ) ) ;
1 Like

This topic was automatically closed 5 days after the last reply. New replies are no longer allowed.