może to nie być najlepsze rozwiązanie.Jedyną przeszkodą w poniższej sugestii jest uzyskanie „3” z $substr:["$name1",1,3 ] dynamicznie.ale daje początek?
db.toupper.aggregate([{$project:{name:{$concat:[{$toUpper:{$substr:["$name1",0,1]}},{$substr:["$name1",1,**3**]}]}}}])
poniżej jest wynik
db.toupper.find()
"_id" : ObjectId("5767ca0badb381a5cc0d19cd"), "name1" : "lean" }
"_id" : ObjectId("5767ca3aadb381a5cc0d19ce"), "name1" : "lean" }
db.toupper.aggregate([{$project:{name:{$concat:[{$toUpper:{$substr:["$name1",0,1]}},{$substr:["$name1",1,3]}]}}}])
"_id" : ObjectId("5767ca0badb381a5cc0d19cd"), "name" : "Lean" }
"_id" : ObjectId("5767ca3aadb381a5cc0d19ce"), "name" : "Lean" }